DrisseionPage在linux上运行报错:BrowserConnectError(f‘\n连接浏览器失败,可能原因:\n1、浏览器未启动\n2、{port}

最近发现了一个好用的模拟浏览器插件: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已经可以连接控制浏览器了

参考资料:
解决Docker容器内安装chrome浏览器无法启动bug
DrissionPage入门指南

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值