我正在使用dotnet core C#和Selenium来加载页面并运行一些测试。 我想获取 chrome 开发者工具网络选项卡中显示的详细信息。 加载的资源列表以及每个资源的大小和路径,并能够计算网页及其所有资源的总加载时间和传输大小。
我知道我可以用javascript获取资源列表
var list = performance.getEntriesByType('resource');
但这不会返回 CORS 项目,因此不是所有项目的确切列表。
有没有办法用硒获取完整的资源列表? 或者我可以用硒生成HAR文件并从中获取资源列表吗?
在Selenium 4中,会有这样的选项,以获得Chrome DevTools。
在那之前,我知道在 C# 中没有更好的解决方案。您可以尝试使用 JS:
String scriptToExecute = "var performance = window.performance || window.mozPerformance || window.msPerformance || window.webkitPerformance || {}; var network = performance.getEntries() || {}; return network;";
String netData = ((JavascriptExecutor)driver).executeScript(scriptToExecute).toString();