python中模拟浏览器操作之playwright使用说明以及打包说明
start
总是会遇到一些需要自动化浏览器的某些操作需求。方案有很多:
- 可以自己写一个js脚本然后直接在浏览器上运行。
- 可以使用油猴对指定的网站自动进行自定义增强。
- 使用python基于selenium去做浏览器自动化
- 使用python基于playwright去做浏览器自动化
playwright的使用方法和selenium在语法上基本是差不多的,但是他有比selenium好的地方,他会主动下载自动化操作浏览器时需要运行的chromedriver.exe。有了本地文件,在使用pyinstaller打包的时候,可以直接把驱动打到应用里面,避免因为浏览器更新,导致驱动不匹配,运行报错的问题。
使用
下面记录一下playwright在python中的基本使用。
1. 安装依赖
shell
# 安装
pip install playwright
# 安装驱动依赖
python -m playwright install
2.查看本地chromedriver.exe
shell
playwright install --dry-run
使用上述命令,会显示谷歌驱动安装的目录,直接拷贝该文件夹。

例如上图中谷歌的版本你是140.0,驱动下载到本地的路径是:C:\Users\17607\AppData\Local\ms-playwright\chromium-1187
直接拷贝文件夹chromium-1187
在虚拟环境下的 playwright 的 deiver 的 package 下新建一个文件夹.local-browsers。把我们刚刚复制的浏览器驱动拷贝进去。

路径示例
D:\jiaoben\venv\Lib\site-packages\playwright\driver\package\.local-browsers\chromium-1187
3.打包
我这里打包使用的是pyinstaller。
打包命令:
pyinstaller --onefile index.py --add-data "D:\jiaoben\venv\Lib\site-packages\playwright;playwright/"
--onefile: 打包成一个exe文件的意思
--add-data:添加需要打包进去的数据,这里的路径对应我们需要打包进程序的浏览器驱动。打包后的程序,默认使用的就是我们打包进程序的驱动了。