在特定网络响应字符串上停止 C# 中的 selenium 4

Stopping selenium 4 in C# on specific network response string

提问人:José Soares 提问时间:5/24/2023 最后编辑:Greg BurghardtJosé Soares 更新时间:5/25/2023 访问量:120

问:

我正在 c# 上试验 selenium 4,我遇到了一些麻烦,我有一个程序目前加载多个页面,每 10 秒加载一个页面,这些页面具有简单的“?page=i”模式并抓取它们的网络活动。我通过一个简单的“for i”循环来实现这一点,但我希望它无限运行,直到发出具有非常特定字符串的网络请求。这可能吗?

一些上下文代码:

var opt = new ChromeOptions();
opt.AddArgument("--headless");
opt.AddArgument("--log-level=3");
var driver = new ChromeDriver(opt);
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
var devTools = (IDevTools)driver;
IDevToolsSession session = devTools.GetDevToolsSession();
var domains = session.GetVersionSpecificDomains<V113.DevToolsSessionDomains>();
var tcs = new TaskCompletionSource<List<string>>();
domains.Network.ResponseReceived += ResponseReceivedHandler;
await domains.Network.Enable(new V113.Network.EnableCommandSettings());
for(int i = 1; i < 40; i++)
{
    Console.WriteLine($"Page {i}");
    driver.Navigate().GoToUrl($"url/?page={i}");
    System.Threading.Thread.Sleep(10000);
}
driver.Quit();
Console.WriteLine("Chromium quit.");
C# .NET ASP.net-core 硒网络驱动程序 chromium

评论

0赞 Greg Burghardt 5/24/2023
使用 while 语句很容易循环直到某个条件,但是我们需要有关您尝试检测的特定条件的更多信息,包括用于检测此特殊字符串的代码试验。
0赞 Greg Burghardt 5/24/2023
基本上,我们需要看到足够的代码来获得最小的可重现示例

答: 暂无答案