python+playwright 学习-6.截图使用
前言
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() # 创建上下文,浏览器实例1
page = 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() # 创建上下文,浏览器实例1
page = context.new_page() # 打开标签页
page.goto("https://www.baidu.com/")
print(page.title())
page.locator('#form').screenshot(path="screenshot.png")
于是最终截图效果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2022-02-21 pydantic学习与使用-7.字段顺序field-ordering
2022-02-21 pydantic学习与使用-6.dataclasses 验证器
2022-02-21 pydantic学习与使用-5.dataclasses 数据类的学习使用
2022-02-21 pydantic学习与使用-4.validator 验证器的使用(pre 和 each_itemm 验证器)
2020-02-21 httprunner学习26-cookies关联(403 Forbidden问题解决)
2017-02-21 Selenium2+python自动化29-js处理多窗口