如何修复WSL2中的“ Selenium :: WebDriver ::错误:: WebDriverError:无法访问chrome”

时间:2019-09-17 15:04:34

标签: ruby-on-rails ruby selenium capybara windows-subsystem-for-linux

我正在尝试使用WSL2来跟踪应用程序,并且在运行RSpec时出现此错误:

Selenium::WebDriver::Error::WebDriverError:
              chrome not reachable
                (Session info: headless chrome=77.0.3865.75)

有人知道要解决吗?

我的capybara.rb:

require "capybara/rails"
require "selenium-webdriver"

Capybara.default_max_wait_time = 10
Capybara.register_driver :chrome do |app|
  options = Selenium::WebDriver::Chrome::Options.new(
    args: %w[headless no-sandbox]
  )
  Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
end

Capybara.javascript_driver = :chrome
Capybara.server = :puma, { Silent: true }

在本文“ https://ngauthier.com/2017/09/rails-system-tests-with-headless-chrome-on-windows-bash-wsl.html”之后,我将路径放入env变量中以到达chromewebdriver二进制文件!

1 个答案:

答案 0 :(得分:0)

我只需使用以下代码进行修复

 Capybara.register_driver :chrome do |app|
        options = Selenium::WebDriver::Chrome::Options.new(args: %w[
          headless no-sandbox disable-gpu window-size=1920x1080
        ])
          Capybara::Selenium::Driver.new(app,
            browser: :chrome,
            desired_capabilities: {
              "chromeOptions" => {
                w3c: false
              }
            }
          )
      end

请让我知道这是否可以解决您的问题