Как вы можете проверить, существует ли всплывающее окно с помощью Selenium w / C#? - PullRequest
0 голосов
/ 17 января 2020

В настоящее время я пишу программу, в которой есть кнопка «Отправить», которая отображает список поставщиков в определенной области. Однако может появиться отдельный экран, если у провайдера есть офисы в более чем одном месте (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);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...