Обработайте выпадающий список в диалоговом окне веб-страницы с помощью Selenium Webdriver и Java - PullRequest
1 голос
/ 15 февраля 2020

Я работаю над автоматизацией веб-сайта с помощью Selenium WebDriver и Java, но я застрял в ситуации, когда при нажатии кнопки открывается новое диалоговое окно веб-страницы , и в этом диалоговом окне веб-страницы у меня есть выполнять такие операции, как ввод значений / выбор из выпадающих меню.

Проблема в том, что я не могу переключиться в диалоговое окно этой веб-страницы, и даже окно F12 не работает в этом диалоговом окне веб-страницы. Этот сайт работает только на IE. Пожалуйста, помогите мне.

    driver.findElement(By.id("buttonOK")).click(); //operation on main browser
    Thread.sleep(3000);
    driver.switchTo().activeElement();  // This didn't switch to webpage dialog

     for(String winHandle : driver.getWindowHandles()){  // this code also didn't switchTo webpage dialog
            driver.switchTo().window(winHandle);
        }

    driver.findElement(By.name("textDataValue")).sendKeys("test"); //operation on webpage dialog

Снимок экрана: введите описание изображения здесь

1 Ответ

1 голос
/ 15 февраля 2020

Я думаю, что ток для кода l oop просто переключается между всеми открытыми windows, но вы хотите переключиться на конкретное открытое окно.

Я бы рекомендовал каждой итерации l oop искать первый элемент By.tagName ("title") и извлекать текст элемента title. Надеемся, что это должно соответствовать тексту в верхней панели окна.
Затем для каждого окна, на которое вы переключаетесь, сравните этот извлеченный текст заголовка с текстом, который, как вы знаете, находится в верхней панели диалогового окна. («Добавить / изменить адрес - диалог веб-страницы»). Если они совпадают, то вы можете выйти из за l oop, и, надеюсь, Selenium будет сфокусирован на этом диалоговом окне.

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