Я застрял при попытке переключения окон с помощью последней версии веб-драйвера на C #.
У меня есть базовое окно, когда я нажимаю кнопку, открывается новое окно.
Целевой код для этой кнопки показан ниже.
window.open(uri, "DisplayPage", " width=1200, scrollbars=yes, resizable = yes, toolbar = no, menubar = no");
Я использую приведенный ниже код для перехода к новому окну.
string BaseWindow = _driver.CurrentWindowHandle;
ReadOnlyCollection<string> handles = _driver.WindowHandles;
foreach (string handle in handles)
{
if (handle != BaseWindow)
{
_driver.SwitchTo().Window(handle).Title.Equals("DisplayPage");
}
}
}
Как видно из вышеизложенного, я переключаюсь на окно, используя целевой заголовок из базового окна. Это не работает.
Затем я заметил, что заголовок открытого окна был другим, это было «Показать -страницу транзакции»
Затем я изменил код на этот
string BaseWindow = _driver.CurrentWindowHandle;
ReadOnlyCollection<string> handles = _driver.WindowHandles;
foreach (string handle in handles)
{
if (handle != BaseWindow)
{
_driver.SwitchTo().Window(handle).Title.Equals("Display - Transaction Page");
}
}
}
Все еще не повезло.
Интересно, что я не получаю никаких сообщений об ошибке "Окно не найдено".
Проблема в том, что когда я пытаюсь щелкнуть элемент на только что открытой странице, я получаю NoSuchElementException, что означает, что только что открытое окно не было выбрано.
Есть идеи?
С уважением,
Хасан