У меня возникают некоторые проблемы при переключении в новое окно при проведении удаленного тестирования с использованием Selenium. У меня не было проблем при локальном тестировании, но при удаленном тестировании он продолжает вызывать «дескриптор», что является ошибкой строки. Я проверил свой код и убедился, что мой аргумент окна является строкой. Кто-то, пожалуйста, помогите.
Ниже приведен код и сгенерированная ошибка.
public static void SwitchToLoginWindow(IWebDriver webDriver)
{
// Wait for the popup to appear
ReadOnlyCollection<string> wh;
int timeCount = 1;
do
{
wh = webDriver.WindowHandles;
Thread.Sleep(200);
timeCount++;
if (timeCount > 50)
{
break;
}
}
while (wh.Count == 1);
//Thread.Sleep(500);
//int numberOfWindows = wh.Count;
var numberOfWindow = wh.Count;
Console.WriteLine($"Switching to Azure AD login popup. Return URL is {webDriver.Url}");
Thread.Sleep(200);
webDriver.SwitchTo().Window(wh[numberOfWindow - 1]);
Waiters.ExplicitWait(webDriver, SelectorType.CssSelector, AzureAd.UserNameField);
}
Ошибка исключения
Брошено здесь:
webDriver.SwitchTo().Window(wh[numberOfWindow - 1]);
OpenQA.Selenium.WebDriverException: 'недопустимый аргумент:' handle 'должен быть строкой (Информация о сеансе: chrome = 75.0.3770.90) Информация о сборке: версия:' 3.141.59 ', ревизия:' e82be7d358', время:' 2018-11-14T08: 25: 53 'Информация о системе: хост:' 8f5340ba4bc2 ', ip:' 172.21.0.12 ', имя os.name:' Linux ', os.arch:' amd64 ', os. версия: '4.4.0-145-generic', java.version: '1.8.0_212' Информация о драйвере: driver.version: неизвестно '