最近发现了一个好用的模拟浏览器插件:DrisseionPage。测试编写好代码之后想放到centos上去跑一跑,发现却如下报错:
![连接不上浏览器](https://img-blog.csdnimg.cn/d8926595366747899d2446863c47dd88.png#pic_center)
那么查看官方文档后,按照文档进行了操作依然不行
文档建议的解决办法
这里我填入的浏览器可执行文件路径是:/usr/bin/google-chrome(我认为应该是这个路径),但是执行后依然提示找不到浏览器。最后通过在Ubuntu上慢慢测试,发现浏览器的可执行文件路径应该是/opt/google/chrome/google-chrome。因此,修改代码为:
from DrissionPage.easy_set import set_paths
set_paths(browser_path=r'/opt/google/chrome/google-chrome')
运行之后再次重试控制浏览器,却发现报错:
ERROR:zygote_host_impl_linux.cc(90)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
翻译过来就是以root权限运行不支持no sandbox,因此修改一下文件就可以了:
vim /opt/google/chrome/google-chrome
找到exec -a "$0" "$HERE/chrome" "$@"
这一行(应该在最后一行),在末尾追加–user-data-dir --no-sandbox 参数即可
修改之后重新运行,可以发现DrissionPage已经可以连接控制浏览器了