Определить всплывающее окно Selenium в IE11 32 бит C # - PullRequest
0 голосов
/ 28 декабря 2018

У меня проблемы с определением всплывающего окна, чтобы справиться с этим.Вот что я попробовал:

            string dialog4;
            string dialog5;
            try
            {
                IAlert alert = driver.SwitchTo().Alert();
                dialog4 = alert.Text;
                alert.Accept();
                dialog5 = "nothing alert";
            }
            catch (NoAlertPresentException f)
            {
                try
                {
                    dialog4 = driver.SwitchTo().Frame(0).Title;// "dialog4";//
                    dialog5 = driver.SwitchTo().Frame(1).Title;// "dialog5";// 
                }
                catch (NoSuchFrameException e)
                {
                    try
                    {
                        dialog4 = driver.SwitchTo().Window("iHTKK").Title;
                        dialog5 = "nothing window";
                    }
                    catch
                    {
                        dialog4 = "nothing 4";
                        dialog5 = "nothing 5";
                    }
                }
            }
  • Код ждет 10 секунд, а веб-привод ждет 30 секунд после нажатия красной кнопки, чтобы убедиться, что всплывающее окно успело быть пойманным.
  • И код возвращает «ничто 4» и «ничто 5».
  • xPath не очень хорошо работает в этом проекте, я не знаю почему, но раньше я пробовал с разными элементамино xPath не работают.
  • Я не могу открыть F12, если я не отвечу на это всплывающее окно.Я мог бы открыть его до и после существования этого всплывающего окна .
  • Я также попытался найти на веб-сайте (все файлы HTML и .js) информацию во всплывающем окне, используяфункция поиска в инструменте разработчика (F12) на вкладках Debugger и Dom Explorer.Ничего не найдено.Это не мой веб-сайт.
  • Я прикрепил снимок экрана с помощью Windows Spy (утилита поставляется с AutoHotkey, помогая идентифицировать окна).Всплывающее окно было создано с помощью вызова процесса "jp2lancher.exe".Моя версия Java - 8.x 32 бит, если это вызывает озабоченность.Хотя кажется, что всплывающее окно происходит из другого процесса, я не могу взаимодействовать с IE, пока не отвечу на это всплывающее окно.Тем не менее, я могу закрыть его с помощью действия «Закрыть все окна» на панели задач, и всплывающее окно все еще будет существовать.

Что еще можно сделать, чтобы идентифицировать это всплывающее окно? Pop-up screen shot

1 Ответ

0 голосов
/ 02 января 2019

После тестирования подтвердилось, что инструмент Window Spy является хорошим способом определить, генерируется ли всплывающее окно браузером / драйвером.В строке ahk_exe будет указано, каким окном запускается исполняемый файл.В моем случае всплывающее окно действительно является плагином Java, который загружается с веб-сайта и запускается на моем компьютере.Я наконец использую AutoIt для обработки этого окна.Если кто-либо использует AutoIt, имейте в виду, что это РАЗНЫЙ язык, и все действия должны начинаться в его формате.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...