场景
无头模式下使用selenium截图时经常遇到有滚动条的界面内容截不全的问题,通过各种渠道找到了解决方案,现记录如下文章来源地址https://www.toymoban.com/news/detail-521125.html
代码
JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
//获取网页最大宽度,适用于有滚动条等页面内容展示不全的情形
int maxWidth = Integer.parseInt(String.valueOf(javascriptExecutor.executeScript("return Math.max(document.body.scrollWidth,document.body.offsetWidth, document.documentElement.clientWidth, document.documentElement.scrollWidth, document.documentElement.offsetWidth);")));
//获取网页最大高度,适用于有滚动条等页面内容展示不全的情形
int maxHeight = Integer.parseInt(String.valueOf(javascriptExecutor.executeScript("return Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight);")));
//设定浏览器宽高为最大宽高
driver.manage().window().setSize(new Dimension(maxWidth,maxHeight));
//截图
File srcfile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
try {
FileUtils.copyFile(srcfile, new File("C:/Users/dell/Downloads/shot.png"));
} catch (IOException e) {
e.printStackTrace();
}
文章来源:https://www.toymoban.com/news/detail-521125.html
到了这里,关于无头模式下selenium实现长截图(Java版本)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!