与Capybara一起向chromedriver发送功能/开关

Mit*_*uyn 1 selenium rspec capybara selenium-chromedriver

在使用Rspec/Capybara时,我无法弄清楚将开关发送到ChromeDriver的语法:

例如:

Capybara.register_driver :chrome do |app|
  #caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"excludeSwitches" => [ "--ignore-certificate-errors" ]})
  caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"args" => [ "--window-size=200,200" ]})
  Capybara::Selenium::Driver.new(app, :browser => :chrome, :desired_capabilities => caps)
end
Run Code Online (Sandbox Code Playgroud)

在开关之前,我已经尝试了上面有/没有进行上述操作.

看看它想要使用的文档,Selenium::WebDriver.for :chrome但我不知道在使用Capybara时它是如何适应的.

Flo*_* B. 7

使用具有自定义功能的Chrome驱动程序设置Capybara:

require 'capybara'
require 'selenium-webdriver'

Capybara.register_driver :chrome do |app|
  Capybara::Selenium::Driver.new(app,
    :browser => :chrome,
    :desired_capabilities => Selenium::WebDriver::Remote::Capabilities.chrome(
      'chromeOptions' => {
        'args' => [ "--window-size=200,200" ]
      }
    )
  )
end

Capybara.default_driver = :chrome
Run Code Online (Sandbox Code Playgroud)