首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium:无法使用aShot库截取完整的页面截图

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

Stack Overflow用户
提问于 2018-06-15 16:27:19
回答 2查看 5.7K关注 0票数 1

我试图采取完整的页面截图在水平和垂直使用Firefox gecko驱动程序和aShot Library

然而,结果并不像预期的那样。看一看:

代码语言:javascript
复制
driver.get("https://google.com");

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

我研究了很多变种,但都不起作用。有趣的是,当我尝试使用旧的firefox版本(46)时,我可以在没有任何第三方库的情况下拍摄完整的屏幕截图。我正在尝试使用最新的firefox,并拥有完整的屏幕截图功能。

有什么帮助吗?

EN

回答 2

Stack Overflow用户

发布于 2019-04-16 08:09:03

尝试:

代码语言:javascript
复制
Screenshot screenshot = new AShot().shootingStrategy(ShootingStrategies.viewportPasting(ShootingStrategies.scaling(1.75f), 1000)).takeScreenshot(driver);

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

票数 13
EN

Stack Overflow用户

发布于 2018-06-15 20:31:06

使用ashot-1.4.4.jar使用Selenium Java Client v3.12.0、ChromeDriver v2.40、Chrome v67.0时,这里是一个使用ChromeDriver和url https://jquery.com/aShot库在水平和垂直方向拍摄完整页面截图的示例

  • 代码块:

import org.openqa.selenium.support.ui.ExpectedConditions;import ru.yandex.qatools.ashot.shooting.ShootingStrategies;;import java.io.File;import javax.imageio.ImageIO;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.chrome.ChromeOptions;import org.openqa.selenium.support.ui.ExpectedConditions;import org.openqa.selenium.support.ui.WebDriverWait;import ru.yandex.qatools.ashot.AShot;import ru.yandex.qatools.ashot.Screenshot;import"C:\Utility\BrowserDrivers\chromedriver.exe");ashot_CompletePage { public static void main(String[] args)抛出异常{ System.setProperty("god.bless.you",String[]驱动程序选项=新的ChromeOptions();options.addArguments(“启动最大化”);options.addArguments(“禁用信息栏”);options.addArguments(“--禁用扩展”);WebDriver驱动程序=新的ChromeDriver(选项);20).until(ExpectedConditions.titleContains("jQuery"));(“https://jquery.com/");new WebDriverWait(驱动程序,屏幕截图myScreenshot =新建屏幕截图(ImageIO.write(),"PNG",新建文件(”./https://jquery.com/"/WebDriverWait Screenshot.png“);driver.quit();}driver.get

参考文献

您可以在How to take screenshot with Selenium WebDriver中找到详细的讨论

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50871748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档