В настоящее время я пишу программу, в которой есть кнопка «Отправить», которая отображает список поставщиков в определенной области. Однако может появиться отдельный экран, если у провайдера есть офисы в более чем одном месте (ie. Разные штаты, разные офисы в одном городе и т. Д. c). Если он находится в одной области, вместо этого появляется выпадающий список без необходимости использовать обработку окна для всплывающего окна.
Пока мой код дает сбой в 50% случаев, так как половина провайдеров работает только в одном месте, и, следовательно, всплывающее окно не появляется. Хотя он пропускает остальные 50% с момента появления всплывающего окна и продолжения кода без дальнейших проблем.
У меня вопрос, как я могу сказать Selenium искать отдельный экран, как только я нажму кнопку «Отправить». И если он не появится, продолжить вместо этого?
Мой код пока:
string currentHandle = driver.CurrentWindowHandle;
PopupWindowFinder finder = new PopupWindowFinder(driver);
string popupWindowHandle = finder.Click(BtnAccept);
if(popupWindowHandle != currentHandle)
{
driver.SwitchTo().Window(popupWindowHandle);
BtnSelectPopUpProvider.Click();
driver.SwitchTo().Window(currentHandle);
}