前言
playwright可以截当前屏幕、截长图、对某个元素截图
捕获屏幕截图保存
page.screenshot(path="screenshot.png")
代码如下(示例):
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=False, slow_mo=1000)
context = browser.new_context()
page = context.new_page()
page.goto("https://blog.csdn.net/weixin_44688529?spm=1010.2135.3001.5343")
print(page.title())
page.screenshot(path="screenshot.png")
截长图
page.screenshot(path="screenshot.png", full_page=True)
代码如下(示例):
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=False, slow_mo=1000)
context = browser.new_context()
page = context.new_page()
page.goto("https://blog.csdn.net/weixin_44688529?spm=1010.2135.3001.5343")
print(page.title())
page.screenshot(path="screenshot.png", full_page=True)
截取单个元素
先定位到需要截图的元素,再截图保存
from playwright.async_api import Playwright
from playwright.sync_api import sync_playwright
def run(playwright: Playwright):
# 启动 chromium 浏览器
browser = p.chromium.launch(headless=False,slow_mo=1000)
context = browser.new_context()
# 打开一个标签页
page = context.new_page()
# 打开百度
page.goto("http://192.168.64.209:8008/#/login")
# 打印当前页面title
print(page.title())
page.locator(".s-canvas").screenshot(path="example.png")