如何修复“usr / bin / google-chrome已不再运行,因此ChromeDriver假设Chrome已崩溃”在Linux中出错? [重复]

问题描述 投票:1回答:1

我正在尝试设置一个jenkins服务器来托管我的自动化框架,在亚马逊Linux上使用Selenium-webdriver(3.142.0)和ruby(2.3.7)。如果我尝试使用我的脚本调用chromedriver,它说,

“Selenium :: WebDriver :: Error :: UnknownError:未知错误:Chrome无法启动:异常退出(未知错误:DevToolsActivePort文件不存在)(从chrome位置开始的进程/ usr / bin / google-chrome为no更长时间运行,因此ChromeDriver假设Chrome已崩溃。)(驱动程序信息:chromedriver = 74.0.3729.6(255758eccf3d244491b8a1317aa76e1ce10d57e9-refs / branch-heads / 3729 @ {#29}),platform = Linux 4.14.104-95.84.amzn2。 x86_64 x86_64)“。

我已将我的chromedriver放在'/ var / lib / jenkins / driver / chromedriver'下,并在.bashrc中设置相同的PATH,并为'/ usr / bin / google-chrome'创建了一个符号链接。以下是我正在使用的机器的详细信息:

    NAME="Amazon Linux"
    VERSION="2"
    ID="amzn"
    ID_LIKE="centos rhel fedora"
    VERSION_ID="2"
    PRETTY_NAME="Amazon Linux 2"
    ANSI_COLOR="0;33"
    CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
    HOME_URL="https://amazonlinux.com/"```

require 'selenium-webdriver'
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument("--disable-dev-shm-usage");
options.add_argument('--no-sandbox')
driver = Selenium::WebDriver.for :chrome, options: options



>Expected result: Browser should be invoked.
>Actual result: 
Exits with the error "The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed."
ruby linux selenium-webdriver amazon-linux
1个回答
0
投票

Chrome未安装在默认位置。 ChromeDriver检查Chrome是否安装在Linux系统的默认位置/usr/bin/google-chrome中。如果您在非标准位置使用Chrome,则需要覆盖Chrome二进制位置。

caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"binary" => "Actual Path"})
© www.soinside.com 2019 - 2024. All rights reserved.