当访问chromedriver 75.0.3770.8上的驱动程序.manage.logs.get(:browser)时-它会导致错误
未定义#(NoMethodError)的'log'方法
在74.0.3729.6上工作正常
从:https://github.com/SeleniumHQ/selenium/issues/7270
当访问chromedriver 75.0.3770.8上的驱动程序.manage.logs.get(:browser)时-它会导致错误
未定义#(NoMethodError)的'log'方法
在74.0.3729.6上工作正常
从:https://github.com/SeleniumHQ/selenium/issues/7270
7条答案
按热度按时间xxls0lw81#
Chrome 75默认为W3C模式,该模式没有指定获取日志访问权限的方式。
此问题的短期修复方法是通过
chromeOptions
禁用w3c
。zsbz8rwp2#
在最新的
selenium-webdriver
(4.4.0)和最新的Chrome(105)中,manage.logs
消失了,但这是可行的:ctrmrzij3#
当与chromedriver〉= 75.0.3770.90一起使用时,Capybara 3.24现在可以解决这个问题
lfapxunr4#
根据Chrome驱动程序75的release notes中的规定,根据W3C标准的要求,
loggingPrefs
功能已被重命名为goog:loggingPrefs
。因此,应调整设置功能的代码,并且至少由于日志捕获原因,没有必要回退到非w3c模式。jgovgodb5#
作为一个短期修复,您似乎可以通过monkey-patch将该功能恢复(使用Selenium-WebDriver v3.142.3进行测试):
您需要将该方法添加/修补到Chrome::Bridge:
在您的功能中,您将需要切换到使用“goog:loggingPrefs”,而不是仅使用“loggingPrefs”:
z2acfund6#
这对我很有效:
在原木的地方
czq61nw17#
我发现只要将
selenium-webdriver
gem升级到3.142.4+就可以解决这个问题(https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES),即使您使用的是过时的水豚。driver.browser.manage.logs.get(:browser)
和以前一样工作。