【发布时间】:2019-12-21 06:39:39
【问题描述】:
我正在编写一些简单的 C# 代码来尝试从 Chrome 浏览器自动获取 HAR 文件。我正在使用 browser-mob-proxy 并且有一个函数:GetHar() 它应该返回一些不同的 URL 条目、请求和响应时间等。但是,它总是只返回一个条目,这是我的原始 URL我否定:www.google.com
我尝试使用 dr.Navigate().Refresh() 来确保页面已重新加载,因此 chrome DevTool Network 部分有一些活动。
server.Start();
Thread.Sleep(1000);
Client client = server.CreateProxy();
client.NewHar("google");
var chromeOptions = new ChromeOptions();
var seleniumProxy = new Proxy { HttpProxy = client.SeleniumProxy };
chromeOptions.Proxy = seleniumProxy;
var dr = new ChromeDriver(chromeOptions);
dr.Navigate().GoToUrl("http://www.google.com");
dr.FindElementByClassName("gb_e").Click();
Thread.Sleep(3500);
dr.Navigate().Refresh();
// Get the performance stats
HarResult harData = client.GetHar();
Log log = harData.Log;
Entry[] entries = log.Entries;
foreach (var e in entries)
{
Request request = e.Request;
Response response = e.Response;
var url = request.Url;
var time = e.Time;
var status = response.Status;
var testStr = "Url: " + url + " - Time: " + time + " Response: " + status;
}
我预计 GetHar() 函数将返回更多条目,而不是仅返回 1 个。
【问题讨论】:
-
看过例子here?
-
你是如何创建服务器的?我一直在寻找 C# 版本的 browsermob,但找不到任何东西。提前致谢
标签: c# asp.net selenium-webdriver browsermob-proxy har