gpt4 book ai didi

linux - 无法使用 selenium 网络驱动程序在 centos 7 中启动 google chrome v61?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:18:57 26 4
gpt4 key购买 nike

环境:

  • Centos 7
  • 谷歌浏览器 V61
  • SELENIUM WEBDRIVER 3.5.3
  • Chrome 驱动程序 2.30/2.32

尝试在 jenkins-slave 中手动运行 google chrome

google-chrome --no-sandbox --disable-setuid-sandbox &

给我这个错误:

[31339:31350:1003/144118.591084:ERROR:bus.cc(395)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
[1003/144118.702053:ERROR:nacl_helper_linux.cc(310)] NaCl helper process running without a sandbox!
Most likely you need to configure your SUID sandbox correctly

Webdriver 错误信息:

Chrome failed to start: crashed
(Driver info: chromedriver=2.30.477691 (6ee44a7247c639c0703f291d320bdf05c1531b57),platform=Linux 4.4.8-20.46.amzn1.x86_64 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 60.06 seconds
Build info: version: '3.5.3', revision: 'a88d25fe6b', time: '2017-08-29T12:42:44.417Z'
System info: host: 'jenkins-slavev2', ip: '172.17.0.2', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.8-20.46.amzn1.x86_64', java.version: '1.8.0_102'
Driver info: driver.version: ChromeDriver

最佳答案

这个错误信息...

NaCl helper process running without a sandbox!
Most likely you need to configure your SUID sandbox correctly

...暗示您的系统中没有 setuid 沙箱,因此该程序无法启动/生成新的浏览上下文,即 Chrome 浏览器 session 。


解决方案

即使根据 Linux SUID Sandbox Development 中的文档配置 --no-sandbox--disable-setuid-sandbox,您也会看到错误需要一个 SUID 辅助二进制文件来打开 Linux 上的沙箱。在大多数情况下,您可以使用以下命令为您安装合适的沙箱:

build/update-linux-sandbox.sh

此程序将在 /usr/local/sbin 中为您安装合适的 sandbox 并在需要时告诉您更新 .bashrc .

但是,可能会有一些异常(exception),例如,如果您的 setuid 二进制文件已过期,您将收到如下消息:

Running without the SUID sandbox! 

或者

The setuid sandbox provides API version X, but you need Y
You are using a wrong version of the setuid binary!

在这些情况下,您需要:

  • 在构建 chrome 时构建 chrome_sandbox(ninja -C xxx chrome chrome_sandbox 而不是 ninja -C xxx chrome)
  • 构建完成后,执行update-linux-sandbox.sh

    # needed if you build on NFS!
    sudo cp out/Debug/chrome_sandbox /usr/local/sbin/chrome-devel-sandbox
    sudo chown root:root /usr/local/sbin/chrome-devel-sandbox
    sudo chmod 4755 /usr/local/sbin/chrome-devel-sandbox
  • 最后,您必须在您的 ~/.bashrc(或 .zshenv)中包含以下行:

    export CHROME_DEVEL_SANDBOX=/usr/local/sbin/chrome-devel-sandbox

;博士

Security Considerations - ChromeDriver - Webdriver for Chrome

关于linux - 无法使用 selenium 网络驱动程序在 centos 7 中启动 google chrome v61?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46548320/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com