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);
- 如何将C#List 转换为Javascript数组?
- 有什么方法可以将对象从c#代码传递给javascript吗?
- TextBox的文本在后面的代码中不会改变
- 从asp.net中的ClientSide(Javascript)刷新GridView
- 无法将当前JSON数组(例如)反序列化为类型’TenantManagementWebApi.Entities.Tenant
- 从cs页面启用/禁用必填字段validation器?
- 从HttpPost Asp.Net MVC方法返回保存的文件
- 在ASP.NET中重定向之前的Javascript警报
- 从Ribbon JScript CRM Online 2011调用C#代码