start

最近玩了玩 playwright,记录一下遇到的问题。

1. 如何在 python 中使用

安装

pip  install playwright

安装浏览器驱动

playwright install

查看浏览器驱动安装的位置

playwright install --dry-run

2. 如何将浏览器打包的程序中

先找到我们使用 pip 安装 playwright 的地址。

然后通过 playwright install --dry-run 找到我们浏览器驱动安装的位置。

拷贝浏览器驱动到,我们 playwright 地址下的 playwright\driver\package\.local-browsers

使用下方命令打包:

pyinstaller --onefile  index.py --add-data "D:\work\py\lazy_tomato\venv\Lib\site-packages\playwright;playwright/"

# pyinstaller 打包成一个文件 index.py/入口文件 添加需要打包的数据,即存放了我们浏览器驱动的playwright包路径
  • 再补充一下。核心的操作逻辑就是,本来安装的浏览器驱动是放在全局的临时目录里面的。但是我们不加处理直接打包,打包后的程序是没办法找到浏览器驱动。

  • 我们手动拷贝浏览器驱动到我们的 playwright 包文件夹中,打包的时候也将它打包进去,即可解决我们的问题。

  • --add-data 参数是 PyInstaller 中用于指定需要包含在最终可执行文件中的额外文件或目录的选项。

3. 有时候无法选择到元素

使用 locator 或者 query_selector_all 总是找不到元素。但是直接在浏览器用 js 是可以找到元素的。

后来调试半天找到问题的原因: 嵌套的iframe需要嵌套访问。

Logo

电影级数字人,免显卡端渲染SDK,十行代码即可调用,工业级demo免费开源下载!

更多推荐