之前发了很多关于selenium的内容,但因为自己太菜有挺多问题找不到解决办法,网上看到有说playwright,所以想安装来试试,但是安装过程中也发现了一点问题,最后成功从网上找到解决办法
playwright安装
pip install --upgrade pip
pip install playwright
playwright install
第一行代码是升级pip,如果没有报错可以省略
但是windows 7旗舰版 安装到 playwright install 的时候,运行完命令后,powershell 无任何错误提示,这个时候到cmd下,运行playwright install,提示错误信息“无法找到入口 无法定位程序输入点 GetHostNameW 于动态链接库 WS2_32.dll 上”
经过百度的找到了问题所在,是因为需要node支持,而默认下载的node版本太高win7不支持,因此会提示如上错误
解决方法
替换playwright driver下的node.exe版本就行了
路径在python安装目录下
\Lib\site-packages\playwright\driver
我的版本为v12.18.0的node.exe 或者win7支持的版本就行 ,尽量v12-13版本
按正常的来走,感觉是 环境变量-Path 路径中对默认 node.exe路径定义,但是我本地是定义过了,试了下不行。 单独替换后,设置node.exe所在目录为 path中的变量,这样,使用playwright中就不会出现 “”node.exe - 无法找到入口 无法定位程序输入点 GetHostNameW 于动态链接库 WS2_32.dll 上。 "
新版playwright依赖node14以上版本
最近安装发现最新版的playwright必须node14版本,而win7最高支持才13.14.0,这也意味着替换node文件不行了。那么该怎么解决呢,下面提供网上学习来的几种方法
安装指定playwright版本
在V1.25.0版本公告中,我们可以看到
This is the last release with Node.js 12 support, we recommend upgrading to Node.js LTS (16).
所以可以使用如下指令安装该版本
pip install playwright==1.25.0
修改版本判定
以下路径在python安装目录下
修改文件
\Lib\site-packages\playwright\driver\package\package.json
修改文件(这个是我的安装目录,请根据你的具体情况修改对应的文件)的 14 改成比 13 或 12,只要比 14 小就可以)
\Lib\site-packages\playwright\driver\package\index.js
然后接着继续执行playwright install命令即可成功安装浏览器
安装高版本node
1.既然是因为 node 版本过低,不能成功安装 playwright 的内置浏览器,那就想办法安装高版本的 node。这才是一劳永逸的做法.
首先修改环境变量,新建一项变量名为 NODE_SKIP_PLATFORM_CHECK,变量值为 1 的系统环境变量.设置这个是跳过安装 node 时对版本的检查
2.下载 16 版本的 node 安装包:https://nodejs.org/en/
3.把下载下来的压缩文件进行解压,然后路径配置到 path 系统环境变量
4.然后保存,接着查看 node 的版本
5.如上图显示,说明 node16.17.0 安装成功.如果还是如下图提示版本过低,可重启你的电脑在尝试,再查看 node16.17.0 的是否安装成功,如果版本显示为 v16.17.0.则为 node 新版本安装成功.可以继续执行playwright install进行 playwright 内置浏览器的安装,这时候就不会报版本过低的提示
参考:
《windows 7下 python安装playwright install无法成功的解决方法》
《自动化测试神器 playwright 的安装及常见问题解决》
转载请注明:思享SEO博客 » win7系统安装playwright没反应,报错的解决办法