Selenium + Capybara:运行 Chrome 参数在 Ubuntu 中
Selenium + Capybara: run Chrome with parameters in Ubuntu
在容器中 运行 时,Chrome 可能会抛出异常,一些关于 PID 的东西,与手头的问题完全无关。
要解决此问题,您必须 运行 chrome 如:
google-chrome --no-sandbox --user-data-dir /root
问题是,我如何将 --no-sandbox --user-data-dir /root
部分传递给 Capybara and/or Selenium。
这就是我注册驱动程序的方式
Capybara.register_driver :chrome do |app|
require 'selenium/webdriver'
Selenium::WebDriver::Chrome.driver_path = ENV['CHROMEDRIVER_EXECUTABLE']
Capybara::Selenium::Driver.new(
app,
:browser => :chrome,
desired_capabilities: {
"chromeOptions" => {
"args" => %w{ window-size=1920,1080 }
}
}
)
end
谢谢!
您只需添加更多选项即可 args
"args" => %w{ window-size=1920,1080 no-sandbox user-data-dir=/root }
在容器中 运行 时,Chrome 可能会抛出异常,一些关于 PID 的东西,与手头的问题完全无关。
要解决此问题,您必须 运行 chrome 如:
google-chrome --no-sandbox --user-data-dir /root
问题是,我如何将 --no-sandbox --user-data-dir /root
部分传递给 Capybara and/or Selenium。
这就是我注册驱动程序的方式
Capybara.register_driver :chrome do |app|
require 'selenium/webdriver'
Selenium::WebDriver::Chrome.driver_path = ENV['CHROMEDRIVER_EXECUTABLE']
Capybara::Selenium::Driver.new(
app,
:browser => :chrome,
desired_capabilities: {
"chromeOptions" => {
"args" => %w{ window-size=1920,1080 }
}
}
)
end
谢谢!
您只需添加更多选项即可 args
"args" => %w{ window-size=1920,1080 no-sandbox user-data-dir=/root }