C#Selenium访问浏览器日志

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

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

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

使用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()); } 

并使用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()); } 

这个库可以帮助你: JSErrorCollector 。

当你使用它时,你只需要写一行来列出所有错误:

 List jsErrors = JavaScriptError.ReadErrors(driver);