Ruby 在使用Webdrivers gem时,如何向Capybara注册IEDriver和Edge Driver?

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一起工作,以便自动下载并运行驱动程序。如果没有可以使用的关键字/默

ruby webdrivers gem允许自动下载驱动程序,而无需在更新浏览器时手动下载

我知道最新的水豚支持开箱即用的驱动程序,比如
: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