在chromedriver 75.0.3770.8上访问driver.manage.logs.get(:browser)时-导致错误
#(NoMethodError)的未定义方法`log'
在74.0.3729.6上正常工作
此问题之前已在Java中得到解答(Get chrome的控制台日志)
但是,我正在使用Ruby绑定,并想知道是否提供了类似的功能?
我查看了Ruby源代码,但看不到任何提及或引用LoggingPreferences.
顺便说一句,我正在使用RemoteWebDriver并传入所需的功能对象.据推测,我想在该对象中设置日志记录首选项,但我很难看到哪里.
我尝试在 ruby Capybara 中注册 Selenium chrome 驱动程序。但不幸的是,我没有找到任何有关启用日志记录的信息。我使用了添加了 perfLoggingPrefs: {enableNetwork: true} 的选项,并遇到了我应该启用日志记录的问题。有谁知道如何在 Ruby/Capybara 中启用 ChromeDriver 的日志记录?现在这是我的代码:
Capybara.register_driver(:selenium_mobile) do |app|
options = Selenium::WebDriver::Chrome::Options.new
options.add_emulation(device_name: 'iPhone X')
options.add_option(:perfLoggingPrefs, {enableNetwork: true})
p "Default Selenium driver is used"
cps = Selenium::WebDriver::Remote::Capabilities.chrome(
loggingPrefs: {browser: 'ALL'},
perfLoggingPrefs: {enableNetwork: true})
Capybara::Selenium::Driver.new(app, browser: :chrome,
desired_capabilities: cps, options:
options)
end
end
Run Code Online (Sandbox Code Playgroud)
另外,我尝试输入命令行参数,例如
options.add_argument('verbose')
options.add_argument('log-path=./tmp/chromedriver.log')
Run Code Online (Sandbox Code Playgroud)
无论如何我遇到问题:
Selenium::WebDriver::Error::InvalidArgumentError:无效参数:“firstMatch”的条目 0 从无效参数中无效:指定了 perfLoggingPrefs,但未启用性能日志记录
我读到可以启用 ChromeDriver 日志记录LoggingPreferences,但我找不到任何关于 Ruby 的提及。
有谁知道如何在注册 Selenium 驱动程序时在 Ruby/Capybara 中启用 ChromeDriver 日志记录?
ruby selenium capybara selenium-chromedriver selenium-webdriver
我有一个使用RSpec + Capybara的集成测试设置。我们最近从PhantomJS切换到了无头的Chromedriver,但我想不到不再显示javascript错误。
有没有一种方便的配置Chromedriver的方法,以便在capybara测试的日志输出中显示javascript错误?
访问我发现的javascript错误的方法(请参阅下文)都有点麻烦,或者不是我要找的东西。