C#Selenium访问浏览器日志

Cla*_*235 9 javascript c# selenium

有没有办法使用selenium捕获c#中的浏览器日志.

我希望捕获特定页面上出现的任何JS错误.最好在Chrome或Firefox上使用.

我以前用Python做过这个,但可以用C#完成吗?

Flo*_* B. 7

要使用Selenium / Chrome / C#设置和检索日志条目,请执行以下操作:

ChromeOptions options = new ChromeOptions();
options.SetLoggingPreference(LogType.Browser, LogLevel.Warning);

var driver = new ChromeDriver(options);

driver.Navigate().GoToUrl("http://stackoverflow.com");

var entries = driver.Manage().Logs.GetLog(LogType.Browser);
foreach (var entry in entries) {
    Console.WriteLine(entry.ToString());
}
Run Code Online (Sandbox Code Playgroud)

对于Firefox:

FirefoxOptions options = new FirefoxOptions();
options.SetLoggingPreference(LogType.Browser, LogLevel.Warning);

var driver = new FirefoxDriver(options);

driver.Navigate().GoToUrl("http://stackoverflow.com");

var entries = driver.Manage().Logs.GetLog(LogType.Browser);
foreach (var entry in entries) {
    Console.WriteLine(entry.ToString());
}
Run Code Online (Sandbox Code Playgroud)

  • 这个解决方案不起作用。NullRef 异常,因为 driver.Manage().Logs 无论如何都是 null。 (5认同)
  • 现在使用最新的chromedriver引发NullReferenceException :( (4认同)
  • 这成功地为我获取了 nuget 包 4.0.0-alpha05 的控制台日志。它不适用于 3.141.0。 (4认同)