Ruby 在使用Webdrivers gem时,如何向Capybara注册IEDriver和Edge Driver?
ruby webdrivers gem允许自动下载驱动程序,而无需在更新浏览器时手动下载 我知道最新的水豚支持开箱即用的驱动程序,比如Ruby 在使用Webdrivers gem时,如何向Capybara注册IEDriver和Edge Driver?,ruby,selenium-webdriver,capybara,Ruby,Selenium Webdriver,Capybara,ruby webdrivers gem允许自动下载驱动程序,而无需在更新浏览器时手动下载 我知道最新的水豚支持开箱即用的驱动程序,比如:selenium,:selenium\u chrome,:selenium\u chrome\u headless。这样做很容易,因为我不必事先登记任何司机 是否有类似的关键字可以用于IEDriver和Edge Driver?WebDriversGem支持这些,但我不确定如何让它与Capybara一起工作,以便自动下载并运行驱动程序。如果没有可以使用的关键字/默
:selenium
,:selenium\u chrome
,:selenium\u chrome\u headless
。这样做很容易,因为我不必事先登记任何司机
是否有类似的关键字可以用于IEDriver和Edge Driver?WebDriversGem支持这些,但我不确定如何让它与Capybara一起工作,以便自动下载并运行驱动程序。如果没有可以使用的关键字/默认驱动程序名称,如何注册这些名称?否,IE或Edge没有预注册的驱动程序。要添加它们,您需要使用
register\u driver
——并在块内传递选项,以配置selenium以使用所需的浏览器。您可以通过查看查看Capybara如何注册提供的驱动程序。不,IE或Edge没有预注册的驱动程序。要添加它们,您需要使用register\u driver
——并在块内传递选项,以配置selenium以使用所需的浏览器。通过查看,您可以看到Capybara如何注册提供的驱动程序
Capybara.register_driver :internetExplorer do |app|
# p Capybara::Selenium::Driver::InternetExplorerDriver.options
Capybara::Selenium::Driver.new(
app,
:browser => :internet_explorer,
:options => Selenium::WebDriver::IE::Options.new({
:ignore_zoom_levels => true,
:ignore_zoom_setting => true,
# :browser_attach_timeout => 1,
:javascript_enabled => true,
:persistent_hover => true,
# :require_window_focus => true,
:ignore_protected_mode_settings =>true,
})
)
end
Capybara.register_driver :edgeBrowser do |app|
# p Capybara::Selenium::Driver::InternetExplorerDriver.options
Capybara::Selenium::Driver.new(
app,
:browser => :edge,
:desired_capabilities =>Selenium::WebDriver::Remote::Capabilities::edge({
:javascript_enabled => true,
:css_selectors_enabled => true,
}),
)
end