搭到服务器上简直是卡成翔
装,你还是一如既往的安装,唯一不要忘了用宝塔的用户自己进入python管理器,最下面写着如果你需要其他安装,请自行进入目录下,我们用宝塔直接打开python的虚拟环境目录,进入bin目录下,点击终端
进去之后记得安装完playwright还需要install playwright吗?
在这里输入 python3 -m playwright install chromium 然后 python3 -m playwright install-deps chromium
这就是只安装一个chromium的浏览器驱动,其他的不需要
各种坑请留意了,在同步模式下,playwright的浏览器你只能实例化一次,而且经过我不懈努力的扒拉文章,发现你最好不要close这个浏览器,否则多次调用算你异步... 必须使用异步方法,我多次更改异步的办法来使用它,发现你使用它是没问题的,可是如果你要从别的地方调用它就没门. 而我需要从FastAPI来调用playwright,所以这里你需要用到with方法,参考官方的案例,用with来实例化一个浏览器
其中各种调用的问题各种不兼容,总之问题实在太多,下次再也不要用这个了.要不是为了拿个浏览器嵌入数据,谁用啊?
还有,拿嵌入数据的时候你需要使用on_response函数,可是你知道吗?这个函数是个外挂,它并不支持全局,也就是说你直接在这个方法里面拿到了嵌入式的数据,也只能print,并不能return.解决办法需要你赋值给一个全局变量,并且由于你赋值给了全局变量,需要再写一个函数专门用来return那个全局变量,以供调用者使用
看起来它很高大上,封装的很完美,使用的很方便,但其实在调用它的时候你会发现一点都不方便,且异步也并不好用.
提示你异步问题的想参考这张图来拓展你的思维
来自github https://github.com/lvyaoyu/lvyaoyu/blob/master/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20220112171332.png
实在太多的坑了,我翻遍了全网来找问题.
无法一一记录了,只能逆着时间记录我目前还开着的文献
Playwright的一般使用
在centos7运行web自动化测试(Playwright)
修改/etc/profile文件 增加
export PLAYWRIGHT_BROWSERS_PATH=指定目录/playwright
再重启让环境变量生效 playwright目录是解压出来的文件夹位置
修改目录权限
chmod -R 777 指定目录/playwright
安装动态链接库
yum install -y atk at-spi2-atk cups-libs libxkbcommon libXcomposite libXdamage libXrandr mesa-libgbm gtk3
同步异步调用错误文献
官方文献
更详细的入门文章
另外,微软官方的答复是,并不支持Centos,只支持Windows,MacOs,Ubuntu
官方关于palywright对于Centos的答复