我在C#中使用Selenium并希望阅读客户端日志(例如javascript中的console.log
)。
我正在初始化ChromeDriver并将记录首选项设置为客户端:
ChromeOptions options = new ChromeOptions();
options.SetLoggingPreference(LogType.Client, LogLevel.All);
var webDriver = new ChromeDriver(options);
objectContainer.RegisterInstanceAs<IWebDriver>(webDriver);
但是,当我尝试检索AvailableLogTypes时:
var whatever = driver.Manage().Logs.AvailableLogTypes;
browser
和driver
是唯一可以读取的可用日志类型:
当我尝试获取客户端日志时:
var logs = driver.Manage().Logs.GetLog(LogType.Client);
我得到一个例外:
WebDriver.dll中出现“System.InvalidOperationException”类型的异常,但未在用户代码中处理
其他信息:未知错误:未找到日志类型“客户端”
知道如何解决这个问题吗?它似乎默认回到browser
和driver
在某些时候记录,但我不确定在哪里。
答案 0 :(得分:3)
如果您想要console.log()
之类的日志,那么我认为LogType.Browser
就是您所需要的。请确保浏览器具有这些日志
如果您没有看到其他LogType
,例如CLIENT
,SERVER
...您可以尝试在How to obtain native logger in Selenium WebDriver中启用这些日志类型作为答案