前言

playwright 除了可以截取当前屏幕,还可以截长图,也可以对某个元素截图,这点非常棒。

screenshot 截图

这是捕获屏幕截图并将其保存到文件中的快速方法:

page.screenshot(path="screenshot.png")

使用示例

from playwright.sync_api import sync_playwright
# 上海悠悠 wx:283340479
# blog:https://www.cnblogs.com/yoyoketang/with sync_playwright() as p:browser = p.chromium.launch(headless=False, slow_mo=1000)context = browser.new_context()  # 创建上下文,浏览器实例1page = context.new_page()    # 打开标签页page.goto("https://www.baidu.com/")print(page.title())page.screenshot(path="screenshot.png")

于是就可以看到截图了

截长图

设置full_page=True 参数 screenshot 是一个完整的可滚动页面的屏幕截图,就好像你有一个非常高的屏幕并且页面可以完全容纳它。

page.screenshot(path="screenshot.png", full_page=True)

捕获图片数据流

您可以获取包含图像的缓冲区并对其进行后处理或将其传递给第三方像素差异工具,而不是写入文件。

screenshot_bytes = page.screenshot()
print(base64.b64encode(screenshot_bytes).decode())

截取单个元素

有时截取单个元素的屏幕截图很有用

page.locator(".header").screenshot(path="screenshot.png")

使用示例,截图百度页面的form 表单输入框和搜索按钮

from playwright.sync_api import sync_playwright
# 上海悠悠 wx:283340479
# blog:https://www.cnblogs.com/yoyoketang/with sync_playwright() as p:browser = p.chromium.launch(headless=False, slow_mo=1000)context = browser.new_context()  # 创建上下文,浏览器实例1page = context.new_page()    # 打开标签页page.goto("https://www.baidu.com/")print(page.title())page.screenshot(path="screenshot.png")

于是最终截图效果

python+playwright 学习-6.截图使用相关推荐

  1. Python+Selenium学习--异常截图

    Python+Selenium学习--异常截图 参考文章: (1)Python+Selenium学习--异常截图 (2)https://www.cnblogs.com/uniquefu/p/97191 ...

  2. python+playwright 学习-1.环境准备与快速开始

    前言 说到 web 自动化,大家最熟悉的就是 selenium 了,selenium 之后又出现了三个强势的框架Puppeteer.CyPress.TestCafe, 但这3个都需要掌握 JavaSc ...

  3. python+playwright 学习-10.pytest-playwright插件编写测试用例

    前言 pytest-playwright插件完美的继承了pytest 用例框架和playwright基础使用的封装,基本能满足工作中的常规需求了,不需要我们再做额外的插件开发. pytest-play ...

  4. python+playwright 学习-17.模拟手机浏览器测试

    前言 使用 Playwright,您可以在任何浏览器上测试您的应用程序,也可以模拟真实设备,例如手机或平板电脑. 设置手机模式 只需配置您想要模拟的设备,Playwright 就会模拟浏览器行为,例如 ...

  5. python+playwright 学习-32 启动Google Chrome 或 Microsoft Edge浏览器

    前言 playwright 默认会下载 chromium,firefox 和 webkit 三个浏览器,目前支持通过命令下载的浏览器有:chromium.chrome.chrome-beta.msed ...

  6. python自学书籍顺序-【经验分享】自学Python的学习顺序!附学习资料

    自学Python要按照什么样的学习顺序?首先要有一个详尽的学习大纲,对于学习Python的各种知识点要安排的详略得当,做到由易到难,循序渐进,才能长久的坚持学下去.除了基础的理论知识,项目实战也是自学 ...

  7. python dlib学习(十):换脸

    前言 这次再用dlib来做一个很酷的应用:换脸.在百度可以搜出一大堆转载的,里面虽然讲的不是很详细(数学部分),个人感觉大多数人对于奇异值分解.仿射变换矩阵 怎么实现根本不敢兴趣,只想上代码实现功能, ...

  8. python dlib学习(三):调用cnn人脸检测

    前言 调用训练好的卷积神经网络(CNN)模型进行人脸检测. 模型下载链接:http://dlib.net/files/mmod_human_face_detector.dat.bz2 程序 注:使用了 ...

  9. Python 爬虫学习 系列教程

    Python爬虫 --- 中高级爬虫学习路线 :https://www.cnblogs.com/Eeyhan/p/14148832.html 看不清图时,可以把图片保存到本地在打开查看... Pyth ...

最新文章

  1. CSV-03- csv 读写框架支持数组、Map、Collection 等常见集合
  2. asp.net mvc 自定义 pager 封装与优化
  3. Java学习笔记20(String类应用、StringBuffer类、StringBuilder类)
  4. SpringBoot2.1.5(6)----中文配置指南
  5. 创建SpringMVC项目
  6. 属于自己的MES(二)必备的主数据
  7. mysql bigint 转int_技术分享 | MySQL ?删库不跑路(建议收藏)
  8. 什么是运维?运维主要做哪些工作?
  9. 小红书关键词搜索商品列表API接口(分类ID搜索商品数据接口,商品详情接口)
  10. 用python实现弹跳球游戏_使用Pygame模块制作一个跳跃的小球游戏
  11. 计算机主板电路总线类型没有,电脑主板总线是什么意思
  12. 微服务弹性伸缩与负载均衡
  13. 图片加水印的简单方法
  14. 房卡麻将分析系列 牌局回放 之 数据设计
  15. 适用于Windows11 任务栏开始菜单和图标,资源管理器显示异常修复的方法
  16. 【心田花开】三年级语文上册南宋古诗鉴赏
  17. 3-1、React-Router基础使用plus
  18. scau csapp复习
  19. caffe源码理解之inner_product_layer
  20. 免费Silverlight主机空间申请

热门文章

  1. 数据库课设——汽车信息租赁管理系统
  2. 以太网、令牌环、FDDI、ATM、WLAN
  3. 【WSN】基于樽海鞘群算法实现无线传感器网络WSN节点的部署优化matlab源码
  4. 抖音哪些行为存在骗赞骗关注,会有什么违规处罚丨国仁网络
  5. Java开发之ServLet详解
  6. 安卓开发--连接到聚合网,获取JSON数据并解析(踩了好多好多坑)
  7. win10下安装并启动zookeeper
  8. php怎么用xampp打开,xampp教程(一):xampp下载,安装,配置,运行PHP的web项目
  9. QDir的mkpath和mkdir的区别
  10. 第四章 前馈神经网络