[英]Selenium 4 C# Chrome DevTools
我想拦截来自网络Fetch/XHR
的错误消息。 我应该采用哪种方法或如何建立连接并拦截此信息? 我知道这是必要的代码库:
driver = new ChromeDriver();
driver.Manage().Window.Maximize();
devTools = driver as IDevTools;
session = devTools.GetDevToolsSession();
devToolsSession = session.GetVersionSpecificDomains<DevToolsSessionDomains>();
devToolsSession.Network.Enable(new Network.EnableCommandSettings());
我试图创建一个 EventHandler 但不幸的是,这个事件的requestID
与 DevTools 参数的requestID
不匹配。 我应该如何获取requestID
以及我需要什么方法来拦截出现在网络预览页面上的错误
所有错误都应记录到控制台域。 也许你正在寻找这个
devToolsSession.Domains.JavaScript.ConsoleApiCalled += (sender, e) =>
{
Console.WriteLine("Log: {0} {1}", e.Timestamp, e.Type);
e.Arguments.ToList().ForEach(x => Console.WriteLine($"Type: {x.Type},
Value: {x.Value}"));
};
或拦截流量(未测试)
List<long> httpStatuses = new List<long>() { 500, 501, 502, 503, 504 };
_driver.GetDevToolsSession().Domains.Network.ResponsePaused += (o, args) =>
{
if (httpStatuses.Contains(args.ResponseData.StatusCode))
//log something...
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.