无头模式下selenium实现长截图(Java版本)

这篇具有很好参考价值的文章主要介绍了无头模式下selenium实现长截图(Java版本)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

场景

无头模式下使用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();
		}

到了这里,关于无头模式下selenium实现长截图(Java版本)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • selenium headless 无头模式慢

    selenium设置headless=True发现非常慢,headless=False要快很多。 最后测试发现升级到selenium最新版本,selenium==4.15.2。设置--headless=new,解决了,速度正常了。 新版selenium有了两种headless模式,参见:Headless is Going Away! | Selenium

    2024年02月03日
    浏览(16)
  • 没想到还有这种骚操作~如何使用Golang实现无头浏览器截图?

    在Web开发中,有时需要对网页进行截图,以便进行页面预览、测试等操作。 而使用无头浏览器来实现截图功能,可以避免手动操作的繁琐和不稳定性。 这篇文章将介绍: 使用Golang进行无头浏览器的截图,轻松实现页面预览、测试和模拟用户操作。 这篇文章发完,有朋友在朋

    2024年02月05日
    浏览(21)
  • selenium无头模式(headless)下设置窗口全屏

    目录 1.问题 2.解决办法 在正常模式下,可以通过maximize_window()函数将webdriver窗口设置为全屏显示: 但是在headless模式下,这个函数会失效,可以通过save_screenshot函数来验证。那么在无头模式下,如何使窗口最大化? 通过pyautogui来获取屏幕尺寸,然后用webdriver的add_argument()函数

    2024年02月11日
    浏览(16)
  • chromedriver+Selenium+springboot+Java实现后端截图

    chromedriver这种方法实现截图,依赖服务器端的谷歌浏览器软件,需要在服务器端下载谷歌浏览器。 Windows服务器说明 1.下载谷歌浏览器 2.根据第一步下载的谷歌浏览器版本,下载chromedriver,可以在这个页面找到和版本相近的版本去下载https://googlechromelabs.github.io/chrome-for-testin

    2024年01月21日
    浏览(26)
  • Selenium Edge的无头浏览器模式以及反WebDriver检测

            由于本人只使用Edge浏览器,所以在得知Selenium对PantomJS的支持取消后,在网上找了各种关于Edge浏览器的资料。配置Selenium Edge有多种方法,但这里只介绍一种方法。 MSEdgeDriver下载地址  此处需要注意将浏览器更新到最新版本,以及选择正确的下载通道 解压下载的压缩

    2023年04月09日
    浏览(20)
  • JAVA使用selenium实现后台浏览器截图(含代码+docker打包)

    最近接到一个特殊需求,需要每天定时截图某网站首页,保存备查,因此使用JAVA实现了后台截图。 下面是完整的方法。 JAVA实现浏览器截图,浏览器选用的是chrome,使用selenium-java依赖。selenium可以帮助我们调用浏览器,完成想要的功能。 由于是后台截图,不需要显示界面,

    2024年03月13日
    浏览(22)
  • Selenium webdriver的无头模式(headless)可能导致cookies内容缺失,以及解决措施

    无头模式(headless)是selenium的webdriver浏览器驱动的一项功能,允许浏览器不出现而仍可访问网页,并与之交互,这对于运行自动化测试或网络抓包大有用处,因为运行速度更快、占用资源更少。 但是笔者发现在无头模式下运行时,浏览器访问某些网站产生的cookies内容可能与

    2023年04月08日
    浏览(67)
  • 利用Selenium轻松实现网页截图功能

    引言 对于初涉 Python 编程的开发者来说,自动化工具的使用可以极大地提升工作效率。在众多Python库中, Selenium 是一个强大且易用的 Web 浏览器自动化工具,它不仅可以模拟用户行为进行页面交互,还能方便地实现网页截图功能。本文将一步步教大家如何借助Selenium和ChromeD

    2024年04月10日
    浏览(24)
  • 通过网址自动网页截图(Selenium实现)

      在自动化测试或者想要批量获取网页首页图片时,就需要一个脚本实现自动化网页截图,我们可以通过Selenium实现这个功能。 网页截图效果示例:

    2024年02月16日
    浏览(19)
  • Selenium自动访问Firefox和Chrome并实现搜索截图

            代码如下所示:        

    2024年02月08日
    浏览(21)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包