Playwright系列文章
前言
Playwright是类似于selenium、Pyppeteer等的一种自动化测试工具,于2020年初微软进行开源,虽然诞生较晚,但发展得非常火热。
一、Playwright录制功能
Playwright有个强大的功能,使用命令录制我们的在浏览器的操作并自动生成代码,使用这个功能可以生成多种语言的代码,减少我们代码编写量。这个功能通过playwright命令行调用codegen来实现。
安装命令:pip install playwright
二、使用步骤
1.查看命令参数(--help)
playwright codegen --help
结果如下:
-o,表示输出保存的代码文件名称;
-target,代表生成的代码语言,默认为python,传入python-asyn则表示生成异步模式的代码;
-b,代表浏览器的名称,可以使用多种浏览器,默认为chromium浏览器;
-device,代表模拟手机浏览器;
-lang,表示设置浏览器语言;
-timeout,表示设置页面超时时间;
-load-storage,代表读取的状态文件路径,文件包含cookie信息等。context.storage_state()方法生成该文件。
2.命令启动浏览器
playwright codegen -o script.py -b chromium --load-storage login.json
该命令启动chromium浏览器,读取本地上的浏览器状态文件login.json,同时右侧弹窗一个脚本窗口,实时地显示当前操作的对应playwright代码。
启动的浏览器结果:
![](https://img-blog.csdnimg.cn/95c438eb55674ca3a32b2c39d232a7b3.png)
这里我们输入对应的网站,在网站进行点击,输入下结果:
![](https://img-blog.csdnimg.cn/63af005e36c0427285d0ee135f504801.png)
生成的代码如下(示例):
from playwright.sync_api import Playwright, sync_playwright #导入playwright模块
def run(playwright: Playwright) -> None:
browser = playwright.chromium.launch(headless=False) #启动浏览器
context = browser.new_context(storage_state="lg.json") #storage_state读取状态文件
# Open new page
page = context.new_page() #新建浏览器页面
# Go to https://mp.csdn.net/
page.goto("https://mp.csdn.net/") #访问网站链接
page.click("img") #点击网页对应按钮
# assert page.url == "https://www.csdn.net/?spm=1011.2124.3001.4476"
# Close page
page.close() #关闭页面
# ---------------------
context.close() #关闭上下文管理器
browser.close()
with sync_playwright() as playwright:
run(playwright)
这里生成的代码可以直接使用python运行,运行后可以看到它复现了我们在浏览器中的操作。
使用这个录制功能我们甚至不需要写代码也可以进行爬虫或测试脚本开发。
总结
以上就是今天要讲的内容,本文仅仅简单介绍了playwright的录制功能的使用,使用录制功能自动生成代码,大大提升了我们的开发效率,而playwright提供了大量方法能使我们快速便捷地处理进行网站请求和数据抓取等。
playwright更多使用详细讲解教程:【网络爬虫&自动化测试】Playwriht系列一_フィロソフィー的博客-CSDN博客