首页 > 解决方案 > Cromedriver `driver.manage.logs.get(:browser)` 在 chromedriver 75.0.3770.8 上失败

问题描述

在 chromedriver 75.0.3770.8 上访问 driver.manage.logs.get(:browser) - 它会导致错误

# (NoMethodError) 的未定义方法“日志”

在 74.0.3729.6 上运行良好

来自:https ://github.com/SeleniumHQ/selenium/issues/7270

标签: rubyselenium-chromedrivercapybara

解决方案


Chrome 75 默认为 W3C 模式,该模式未指定获取日志访问权限的方式。

此问题的短期解决方法是禁用w3cvia chromeOptions

Capybara.register_driver :headless_chrome do |app|
  capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
    chromeOptions: { args: %w[headless window-size=1280,800], w3c: false },
  )

  Capybara::Selenium::Driver.new app,
                                 browser: :chrome,
                                 desired_capabilities: capabilities
end

推荐阅读