0

我正在使用Selenium並嘗試將Chrome驅動程序配置爲在後臺啓動,即我不希望窗口占用焦點。我的想法是運行測試套件不會在編碼時破壞我的流程。我希望窗口焦點保持在實際的代碼編輯器上,而不是在新創建的chrome窗口上。如何配置Selenium網絡驅動程序在後臺啓動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

從原始的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

+1

優秀,但它確實開始在後臺的鉻瀏覽器。儘管如此,水豚並沒有開始運行測試,除非我點擊瀏覽器並將其關注。有沒有辦法僞造它? – Nerian

+0

這種替代方法如何?我可以更新答案,如果這適用於你:https://github.com/karma-runner/karma-chrome-launcher/issues/10#issuecomment-132606226 –

+0

我想我只會使用一個無頭瀏覽器,並切換到硒當我需要調試某些東西時。謝謝:) – Nerian

相關問題