在Selenium中获取客户端日志

时间:2017-01-19 16:26:34

标签: c# selenium

我在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;

browserdriver是唯一可以读取的可用日志类型:

enter image description here

当我尝试获取客户端日志时:

var logs = driver.Manage().Logs.GetLog(LogType.Client);

我得到一个例外:

  

WebDriver.dll中出现“System.InvalidOperationException”类型的异常,但未在用户代码中处理

     

其他信息:未知错误:未找到日志类型“客户端”

知道如何解决这个问题吗?它似乎默认回到browserdriver在某些时候记录,但我不确定在哪里。

1 个答案:

答案 0 :(得分:3)

如果您想要console.log()之类的日志,那么我认为LogType.Browser就是您所需要的。请确保浏览器具有这些日志

如果您没有看到其他LogType,例如CLIENTSERVER ...您可以尝试在How to obtain native logger in Selenium WebDriver中启用这些日志类型作为答案