selenium工具的几种截屏方法介绍(9)

在使用selenium做自动化的时候,可以对于某些场景截图保存当时的执行情况,方便后续定位问题或者作为一些证据保留现场。

获取元素后将元素截屏

我们获取元素后,使用函数screenshot将元素截屏,参数filename传入完整的png文件名路径或者文件名(放在当前路径)。

测试代码:打开头条网站,定位到左上角的'下载头条app'然后截屏保存。

复制代码
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Safari()
#打开传入的URL网页地址
driver.get("https://www.toutiao.com/")
sleep(6)
element = driver.find_element(By.XPATH,'//*[@id="root"]/div/div[3]/div[1]/div')
element.screenshot('1.png')
element.screenshot('/Users/aaa/Donwloads/1.png')

执行后打开截图如下:

将整个页面截屏

在webdriver模块中有几种截屏的方法,主要介绍如下:

1)save_screenshot(filename)

filename传入以png结尾的文件路径。

2)get_screenshot_as_file (filename)

filename传入以png结尾的文件路径。

3)还有两个方法保存的是字节码或者字符串:

使用get_screensho_as_png函数保存截屏为字节码

使用get_screensho_as_base64函数保存截屏为base64编码后的字符串

复制代码
driver.get_screenshot_as_png()
driver.get_screenshot_as_base64()

示例:打开头条后,截图

复制代码
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Safari()
#打开传入的URL网页地址
driver.get("https://www.toutiao.com/")
driver.maximize_window()

使用save_screenshot函数截图保存为png图片

复制代码
driver.save_screenshot('toutiao1.png')

使用save_screensho_as_filet函数截图保存为png图片

复制代码
driver.get_screenshot_as_file('D:/picture/toutiao2.png')

程序执行后在对应目录下可以看到头条网站整个页面的截图。

共勉: 东汉·班固《汉书·枚乘传》:"泰山之管穿石,单极之绠断干。水非石之钻,索非木之锯,渐靡使之然也。"

-----指水滴不断地滴,可以滴穿石头;

-----比喻坚持不懈,集细微的力量也能成就难能的功劳。

----感谢读者的阅读和学习,谢谢大家。

相关推荐
Devil枫41 分钟前
Kotlin扩展函数与属性
开发语言·python·kotlin
程序员阿超的博客2 小时前
Python 数据分析与机器学习入门 (八):用 Scikit-Learn 跑通第一个机器学习模型
python·机器学习·数据分析·scikit-learn·入门教程·python教程
xingshanchang3 小时前
PyTorch 不支持旧GPU的异常状态与解决方案:CUDNN_STATUS_NOT_SUPPORTED_ARCH_MISMATCH
人工智能·pytorch·python
费弗里6 小时前
Python全栈应用开发利器Dash 3.x新版本介绍(1)
python·dash
李少兄9 天前
解决OSS存储桶未创建导致的XML错误
xml·开发语言·python
就叫飞六吧9 天前
基于keepalived、vip实现高可用nginx (centos)
python·nginx·centos
Vertira9 天前
PyTorch中的permute, transpose, view, reshape和flatten函数详解(已解决)
人工智能·pytorch·python
学Linux的语莫9 天前
python基础语法
开发语言·python
WIN赢9 天前
PostMan使用
测试工具·lua·postman
程序员的世界你不懂9 天前
Appium+python自动化(三十)yaml配置数据隔离
运维·appium·自动化