Как обрабатывать всплывающие окна с помощью Selenium Webdriver + Python - PullRequest
0 голосов
/ 09 сентября 2011

Вот ситуация - на тестируемом веб-сайте источник страницы изменяется динамически, т. Е. Когда я наводю указатель мыши на элемент, я вижу всплывающее окно, и оно имеет структуру DOM и все.Я хочу захватить элементы DOM в поповере.

Я использую webdriver с python.Это работает хорошо, когда я использую IDLE, потому что всплывающее окно остается на веб-странице некоторое время, и я могу захватить структуру DOM.Однако, когда я пытаюсь выполнить это в сценарии, на экране просто всплывает всплывающее окно, и я не могу зафиксировать структуру DOM.

Я пытался использовать WebDriverWait, Actions API и т. Д. Но ничего не работает.Любые указатели будут оценены.Спасибо.

1 Ответ

0 голосов
/ 09 сентября 2011

Используйте Действия, чтобы навести указатель мыши на элемент.Прямой подход выглядит примерно так (извините, код на C #):

IWebElement element = driver.FindElement(By.Id("something")); 
Actions action = new Actions(driver); 
actions.MoveToElement(element);
actions.Perform();

//get the DOM structure

Важно не забыть вызов Perform()Если это не работает (что иногда просто не работает), замените MoveToElement на ClickAndHold.Обычно это позволяет бесконечно открывать всплывающие окна при наведении мыши.

...