当前位置: 首页 > news >正文

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')

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

图片

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

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

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

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

http://www.lryc.cn/news/462027.html

相关文章:

  • 【设计模式】深入理解Python中的过滤器模式(Filter Pattern)
  • vue的动态组件 keep-alive
  • 现代框架开发官网
  • 一篇文章快速认识YOLO11 | 关键改进点 | 安装使用 | 模型训练和推理
  • AtCoder Beginner Contest 375(A,B,C,D,E,F)(大模拟,前缀和,dp,离线处理,Floyd)
  • 认识maven
  • OSINT技术情报精选·2024年10月第2周
  • 中企通信赋能中信戴卡入选工信部颁发的2023年工业互联网试点示范名单
  • 【C语言】函数的声明与定义
  • 游戏如何应对薅羊毛问题
  • Chromium html<script>对应c++接口定义
  • ollama + fastgpt+m3e本地部署
  • Linux执行source /etc/profile命令报错:权限不够问(已解决)
  • Windows 11开发全解析
  • 如何进行数学家式的学习思考?
  • 自定义类型--结构体
  • 笔试练习day7
  • python 爬虫 入门 一、基础工具
  • 金融衍生品中的风险对冲策略分析
  • linux下建立软链接
  • MySql数据库left join中添加子查询
  • redis--过期策略和内存淘汰策略
  • qt QTableview 左侧 序号 倒序
  • 隧道代理IP如何帮助企业采集数据?
  • Spring Boot知识管理系统:技术与方法论
  • SpringBoot1~~~
  • 兼容多家品牌手机的多协议取电快充芯片
  • Java和Python的不同
  • Moshang摩熵医药数据库
  • 基于web的酒店客房管理系统【附源码】