如何配置 Selenium 网络驱动程序以在后台启动 chrome 浏览器
How to configure Selenium web driver to start a chrome browser in the background
我正在使用 Selenium 并尝试将 Chrome 驱动程序配置为在后台启动,也就是说我不希望 window 获得焦点。这个想法是 运行 测试套件不会在我编码时打断我的流程。我希望 window 焦点保留在实际的代码编辑器上,而不是新创建的 chrome window.
所以我找到了这个答案: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
我怎样才能达到我描述的效果?
从原始 Java 翻译而来,您只需将启动参数添加到您的 Capabilities
并将其传递给新的 Driver 实例:
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
我正在使用 Selenium 并尝试将 Chrome 驱动程序配置为在后台启动,也就是说我不希望 window 获得焦点。这个想法是 运行 测试套件不会在我编码时打断我的流程。我希望 window 焦点保留在实际的代码编辑器上,而不是新创建的 chrome window.
所以我找到了这个答案: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
我怎样才能达到我描述的效果?
从原始 Java 翻译而来,您只需将启动参数添加到您的 Capabilities
并将其传递给新的 Driver 实例:
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