龙岩做网站的地方有哪些,都江堰市网站建设,旅游区网站建设,便民类网站 做前言 我们执行UI自动化操作时#xff0c;大多数时间都是不在现场的#xff0c;出现错误时#xff0c;没有办法第一时间查看到#xff0c;这时我们可以通过截图当时出错的场景保存下来#xff0c;后面进行查看报错的原因#xff0c;Selenium中提供了几种截图的方法#x…
前言 我们执行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(optionsopt) # 创建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进行截取长图或者说整个页面的图片当然如何在公司项目中进行使用这个可能就需要小伙们根据公司项目进行合理安排是否有此需求感谢您的阅读希望对您有所帮助。
总结
感谢每一个认真阅读我文章的人
作为一位过来人也是希望大家少走一些弯路如果你不想再体验一次学习时找不到资料没人解答问题坚持几天便放弃的感受的话在这里我给大家分享一些自动化测试的学习资源希望能给你前进的路上带来帮助。 软件测试面试文档
我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。 视频文档获取方式 这份文档和视频资料对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你以上均可以分享点下方进群即可自行领取。