在74.0.3729.6
的版本Selenium.WebDriver.ChromeDriver
中,我可以运行以下代码而不会出现问题:
foreach (var logItem in driverInstance.Manage().Logs.GetLog(LogType.Browser).ToList())
{
NLogLogger.Debug(logItem.Message);
}
但是从版本
75.0.3770.90
System.NullReferenceException: 'Object reference not set to an instance of an object.'
在最新的发行说明中,我发现了一些有关日志记录更改的提示,但是没有明确说明更改或可能导致此问题的原因:
已解决问题2947:没有用于检索日志的W3C兼容端点[Pri-2]
已解决的问题2803:功能名称loggingPrefs不符合规范[Pri-2]
https://chromedriver.storage.googleapis.com/75.0.3770.90/notes.txt
理想情况下,我不希望删除此代码,因为必须具备从浏览器端获取日志的能力,但我也不想锁定在Selenium Chrome驱动程序的74版,因为随着时间的推移,这显然会变得越来越大,并且更大的问题,所以我想知道是否有人可以建议采用其他方式动态访问这些日志?
最佳答案
driver.Manage().Logs.GetLog(LogType.Browser) no longer working in Chromedriver version 75.0.3770
我遇到了同样的问题,不幸的是,对于当前版本的Selenium,它在w3c模式下不起作用。
关于c# - 使用GetLog()方法访问日志的Selenium Chrome驱动程序(75及更高版本)问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56946240/