Selenium:无法使用 aShot 库截取完整的页面截图

rog*_*hat 1 java selenium selenium-chromedriver geckodriver ashot

我正在尝试使用Firefox geckodriver 和aShot Library水平和垂直拍摄完整的页面截图。

然而,结果并不如预期。看一看:

在此处输入图片说明

driver.get("https://google.com");

Screenshot fpScreenshot = new AShot().shootingStrategy(ShootingStrategies.viewportPasting(1000)).takeScreenshot(driver);
ImageIO.write(fpScreenshot.getImage(),"JPEG",new File("FullPageScreenshot.jpg"));
Run Code Online (Sandbox Code Playgroud)

研究了很多变体,但没有任何效果。有趣的是,当我尝试使用旧的 Firefox 版本 (46) 时,我可以在没有任何第三方库的情况下截取完整的屏幕截图。我正在尝试使用最新的 Firefox 并具有完整的屏幕截图功能。

有什么帮助吗?

小智 13

尝试:

Screenshot screenshot = new AShot().shootingStrategy(ShootingStrategies.viewportPasting(ShootingStrategies.scaling(1.75f), 1000)).takeScreenshot(driver);
Run Code Online (Sandbox Code Playgroud)

其中 1.75f 是设备像素比(您可以window.devicePixelRatio;在浏览器控制台中运行以找到它)。如果它仍然没有捕获全屏,请将其更改为 2f