如何配置Selenium Web驱动程序以在后台启动Chrome浏览器

时间:2016-02-10 14:11:16

标签: ruby google-chrome selenium selenium-webdriver selenium-chromedriver

我正在使用Selenium并尝试将Chrome驱动程序配置为在后台启动,也就是说我不希望窗口成为焦点。我的想法是,在编码时运行测试套件不会破坏我的流程。我希望窗口焦点保留在实际的代码编辑器上,而不是新创建的chrome窗口。

所以我找到了这个答案:Selenium - chrome Driver fail to start in background (without a start-up window)

但它使用Java。我需要一个Ruby解决方案。

我目前正在使用Chrome驱动程序:

Capybara.default_driver = :chrome

Capybara.register_driver :chrome do |app|
  Capybara::Selenium::Driver.new(app, :browser => :chrome)
end

我如何实现我所描述的目标?

1 个答案:

答案 0 :(得分:1)

从原始Java翻译,您只需要将启动参数添加到Capabilities并将其传递给新的驱动程序实例:

capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
    "chromeOptions" => {"args" => [ "--no-startup-window" ]})

Capybara.default_driver = :chrome

Capybara.register_driver :chrome do |app|
  Capybara::Selenium::Driver.new(app, :browser => :chrome,
     :desired_capabilities => capabilities)
end

参考: https://sites.google.com/a/chromium.org/chromedriver/capabilities