У меня есть C# Консольное приложение, которое разработано с использованием браузера OpenQA.Selenium Inte rnet. (c# приложение уже было создано как программа .exe) Я слушаю поток запросов через мой прокси-сервер. Когда я ловлю указанный запрос, мне нужно просмотреть некоторые элементы HTML (например, флажки) на определенной странице c, чтобы определить рабочий процесс. На данный момент я пытаюсь переключить окно. Но это дает мне
OpenQA.Selenium.WebDriverException: The HTTP request to the remote WebDriver server for URL http://localhost:63357/session/034a70cd-8df4-4803-bad5-ae20865eb4f8/window timed out after 60 seconds. ---> System.Net.WebException: The request was aborted: The operation h
as timed out.
Мой пример кода здесь
if (e.HttpClient.Request.Url.Contains(ykUrl))
{
var allWindowHandles = ieDriver.WindowHandles; // this line is giving exception.
foreach (var windowHandle in allWindowHandles)
{
var page = ieDriver.SwitchTo().Window(windowHandle);
if (page.Url.ToString().Contains("https://my.specific-page-that-already.opens?q="))
{
IWebElement trafficCheckbox = ieDriver.FindElement(By.Id("chkTraffic"));
IWebElement cascoCheckbox = ieDriver.FindElement(By.Id("chkCasco"));
string isTraffic = trafficCheckbox.GetProperty("checked");
string isCasco = cascoCheckbox.GetProperty("checked");
if ((isTraffic == "True" && isCasco == "False") || (isTraffic == "False" && isCasco == "False"))
{
string platetext = ieDriver.FindElement(By.Id("txtPlateNo")).GetProperty("value");
platetext = Regex.Replace(platetext, @"[\d-]", string.Empty);
if (platetext.ToLower() == "yk")
{
CloseIeInstances(); // this function closes all internet explorer instances.
}
}
}
}
}
Я немного запутался, Что я делаю не так?
Заранее спасибо :)