Я использую безголовый браузер из кода C ++.
Мое требование — сделать скриншот страницы.
Ниже приведен код, вызываемый из OnPageReady ():
devtools_client_->GetEmulation()->GetExperimental()->SetVisibleSize(headless::emulation::SetVisibleSizeParams::Builder()
.SetHeight(900)
.SetWidth(900)
.Build());
devtools_client_->GetEmulation()->SetDeviceMetricsOverride(900,
900,
1,
false);
devtools_client_->GetEmulation()->GetExperimental()->SetPageScaleFactor(headless::emulation::SetPageScaleFactorParams::Builder()
.SetPageScaleFactor(1).Build());
devtools_client_->GetPage()->GetExperimental()->CaptureScreenshot(
headless::page::CaptureScreenshotParams::Builder()
.SetClip(headless::page::Viewport::Builder()
.SetX(0)
.SetY(0)
.SetScale(1)
.SetHeight(900)
.SetWidth(900)
.Build())
.SetFormat(headless::page::CaptureScreenshotFormat::PNG)
.SetFromSurface(true)
.Build(),
base::Bind(&HeadlessExample::OnScreenshotCaptured,
weak_factory_.GetWeakPtr()));
Но моя проблема в том, что функция OnScreenshotCaptured не вызывается.
Пожалуйста помоги.
Анкур Сегал.
Задача ещё не решена.
Других решений пока нет …