c# - Selenium Chrome 驱动程序(75 及以上)使用 GetLog() 方法访问日志时出现问题

标签 c# selenium selenium-webdriver selenium-chromedriver

Selenium.WebDriver.ChromeDriver74.0.3729.6 版本中,我可以毫无问题地运行以下代码:

foreach (var logItem in driverInstance.Manage().Logs.GetLog(LogType.Browser).ToList())
{
    NLogLogger.Debug(logItem.Message);
}

但是从版本 75.0.3770.90

System.NullReferenceException:“对象引用未设置为对象的实例。”

在最新的发行说明中,我发现了一些关于日志更改的提及,但没有明确指出发生了什么更改或可能导致此问题:

  • Resolved issue 2947: No W3C compliant endpoints for retrieving logs [Pri-2]
  • Resolved issue 2803: Capability name loggingPrefs is not spec compliant [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# - Selenium Chrome 驱动程序(75 及以上)使用 GetLog() 方法访问日志时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56946240/

相关文章:

javascript - Selenium Java CSS 选择器错误?

java - Selenium : The browser is getting opened but not able to get URL in the browser

selenium - 如何自动点击没有ID的按钮

c# - geckodriver.exe 不在当前目录或路径变量中,Selenium 2.53.1 + Firefox 48 + Selenium 3 Beta

java - 如何获取子 div id,它们直接是一个父 div 下的 child ?

java - 如何在c#中复制java加密

c# 如何在 DragDrop 事件上检测和处理 .URL 文件类型

c# - ASP.NET C# MySql 选择和更新表单

c# - c#中json字符串的反序列化

Python3&selenium 引发消息 : Can not connect to the Service geckodriver