3

我正在尝试从使用 C# 中的 ChromeDriver 启动的 chrome 页面访问网络选项卡信息。

在此处输入图像描述

我希望至少传输的总数据和页面加载时间......

我一直在搞乱设置不同的ChromeOptionsDesiredCapabilities,几乎没有成功。到目前为止,我唯一要做的就是执行一个脚本并将结果转换为 long。

Convert.ToInt64(((IJavaScriptExecutor)ChromeDriver).ExecuteScript("return window.performance.timing.navigationStart"));

但是,如果可能的话,我不想这样做……提前致谢!

4

1 回答 1

0

如果其他人将来会看到这种情况,我将分享一些信息。因为我目前也遇到了 devtools 的问题。

如果您使用的是 4.0 alpha 如何与开发工具交互,Selenium有一个官方指南。

我将在这里分享我目前正在使用的片段。

IDevTools devTools = driver as IDevTools;
DevToolsSession session = devTools.CreateDevToolsSession();
session.Network.ResponseReceived += ResponseReceivedHandler;
session.Network.Enable(new EnableCommandSettings());
public void ResponseReceivedHandler(object sender, ResponseReceivedEventArgs e)
{
   Debug.WriteLine($"Status: { e.Response.Status } : {e.Response.StatusText} | File: 
   { e.Response.MimeType } | Url: { e.Response.Url } ");
}

我尝试了很多来弄清楚如何获得我想要的信息。也许我自己的问题得到了回答,直到你看到这个,我分享了我尝试过的所有东西。

本指南还可以帮助您入门。

于 2021-10-07T08:45:39.057 回答