简单但好用:4种Selenium截图方法了解一下

这篇具有很好参考价值的文章主要介绍了简单但好用:4种Selenium截图方法了解一下。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 前言

我们执行UI自动化操作时,大多数时间都是不在现场的,出现错误时,没有办法第一时间查看到,这时我们可以通过截图当时出错的场景保存下来,后面进行查看报错的原因,Selenium中提供了几种截图的方法,小编今天给大家介绍下。

方法一

get_screenshot_as_base64()整个函数,获取当前屏幕页面截图。

我们通过代码编写打开百度页面,然后进行进行通过base64进行截图,截图后再次进行转换成图片保存下来。

 # coding:utf-8
  from selenium import webdriver
  import base64
  driver = webdriver.Chrome()
  driver.get('https://www.baidu.com/')
  # 通过base64进行保存图片
  x = driver.get_screenshot_as_base64()
  image = base64.b64decode(x)
  file = open('1.jpg', "wb")
  file.write(image)

程序执行完成后,我们直接可以看到图片成功保存在本地。

方法二

save_screenshot(filename)是属于Selenium自带的截图函数,其中filename表示图片名称,道理一样,直接打开百度网页进行保存。

# coding:utf-8
  from selenium import webdriver
  driver = webdriver.Chrome()
  driver.get('https://www.baidu.com/')
  # 保存图片到本地
  driver.save_screenshot('1.png')

代码执行完成后,发现图片信息已经保存下来了。

方法三

get_screenshot_as_file(filename)获取截图信息,其中filename表示图片名称,这里需要注意的是,图片信息只能保存为png格式的,其他的格式,代码会出现报错。

 # coding:utf-8
  from selenium import webdriver
  driver = webdriver.Chrome()
  driver.get('https://www.baidu.com/')
  # 截图保存在本地
  driver.get_screenshot_as_file('1.png')

方法四

  get_screenshot_as_png() 通过二进制的方式进行保存图片。

# coding:utf-8
  from selenium import webdriver
  driver = webdriver.Chrome()
  driver.get('https://www.baidu.com/')
  # 截图保存在本地
  x = driver.get_screenshot_as_png()
  # 将二进制保存成图片形式
  file = open('1.png', "wb")
  file.write(x)

截图长图

上述截图方法中均是截取的当前页面的图片,那么如果我想要整个浏览器显示的内容全部截图下来怎么操作呢?其实方法一样的,我们只需要获取到浏览器的高度,然后就可以将截图全部都截取下来了。

 # coding:utf-8
  from selenium import webdriver
  import time
  opt = webdriver.ChromeOptions()
  opt.headless = True              # 把Chrome设置成可视化无界面模式
  driver = webdriver.Chrome(options=opt)  # 创建Chrome无界面对象
  driver.get('http://www.51testing.com/html/news.html')
  time.sleep(2)
  # js获取页面的宽高
  height = driver.execute_script("return document.documentElement.scrollHeight")
  # 将浏览器的宽高设置成刚刚获取的宽高
  driver.set_window_size(1960, height)
  time.sleep(3)
  driver.save_screenshot('22.png')

需要注意的一点是,这里需要将浏览器设置成无页面模式,因为只有无页面形式才可以截全图,不然截的还是当前页面的图片,也就是浏览器的页面显示的。

执行完成代码后,发现我们已经将长图全部截取下来了。

总结

本篇的内容可能对于一些小伙们来说很简单,其实小编主要想介绍如何通过Selenium进行截取长图或者说整个页面的图片,当然如何在公司项目中进行使用,这个可能就需要小伙们根据公司项目进行合理安排,是否有此需求,感谢您的阅读,希望对您有所帮助。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

selenium区域截图,selenium,测试工具,功能测试,单元测试,测试用例,jmeter,postman

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取  

selenium区域截图,selenium,测试工具,功能测试,单元测试,测试用例,jmeter,postman 文章来源地址https://www.toymoban.com/news/detail-753335.html

到了这里,关于简单但好用:4种Selenium截图方法了解一下的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • selenium--获取页面信息和截图

    主要方法如下图: 介绍一下常用的方法: 获取浏览器名字 获得当前的url 获得这个页面的title,也就是这个: 获得当前窗口id 获得所有窗口的id 获得这个页面的html源码 现在要判断打开的页面是否是百度页面,可以用到上面的几个方法: 1.title 2.page_source 获得二进制内容 这只

    2024年02月09日
    浏览(41)
  • 通过网址自动网页截图(Selenium实现)

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

    2024年02月16日
    浏览(49)
  • Python 中 Selenium 的屏幕截图

    我们可以使用 Selenium 在自动化 Web 浏览器上使用 Python 脚本执行任务。 我们可以使用不同的方法将浏览器的屏幕捕获为屏幕截图。 本篇文章将介绍如何在 Python 中使用 selenium 捕获自动浏览器的屏幕截图。 selenium 包提供了 save_screenshot() 函数来截取在自动浏览器中打开的网页的

    2024年02月03日
    浏览(43)
  • 利用Selenium轻松实现网页截图功能

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

    2024年04月10日
    浏览(54)
  • 案例:巡检自动化=selenium+截图+接口

    网页应用方面 分为三步:第一步实现网页自动化打开,登录到需巡检的界面,第二步通过截图,保存巡检时状态图,第三步通过接口推送至手机app如企业微信,钉钉等。 网页自动化 准备 第一:selenium环境部署和定位学习:https://blog.csdn.net/qq_54219272/article/details/123310772 第二:

    2024年02月08日
    浏览(50)
  • 无头模式下selenium实现长截图(Java版本)

    无头模式下使用selenium截图时经常遇到有滚动条的界面内容截不全的问题,通过各种渠道找到了解决方案,现记录如下

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

            代码如下所示:        

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

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

    2024年01月21日
    浏览(55)
  • Linux中使用selenium截图的文字变为方框的解决方案

    最近在Linux中使用selenium截图时,发现文字都变为了方框: 虽然不影响selenium的使用,但有点影响调试,也不好看,后面发现是因为Linux缺少中文字体的缘故,需要安装中文字体就能解决。 先检查 /usr/share 目录下是否有有 fonts 和 fontconfig 目录,如果没有则需要执行下面的命令

    2024年02月08日
    浏览(42)
  • 简单但全面了解一下webSocket

    **全双工:**通信的两个参与方可以同时发送和接收数据,不需要等待对方的响应或传输完成。双全工指的是一种通信方式,通过建立全双工的持久连接客户端和服务器之间就能实现高效实时性更强的通信。 传统通信 : 电子邮件、网页浏览存在延迟,需要用户主动请求来获取

    2024年02月20日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包