Форум сайта python.su
На странице сайта имеется форма и кнопка.
После заполнения формы и нажатия на кнопку появляется всплывающее окно с еще одной кнопкой. При этом DOM обновляется и в него добавляется код всплывшего окна.
Подскажите, пожалуйста, как при помощи Selenium нажать на кнопку во всплывшем окне?
Забегая вперед, пробовал:
1)
WebDriverWait(driver, 10); driver.find_element_by_xpath("//div[@id='nameId']/div/div[2]").click();
selenium.common.exceptions.NoSuchElementException: Message: 'Unable to locate element: {"method":"xpath","selector":"//div[@id=\'nameId\']/div/div[2]"}'
driver.switch_to_alert(); driver.find_element_by_xpath("//div[@id='nameId']/div/div[2]").click()
selenium.common.exceptions.NoSuchElementException: Message: 'Unable to locate element: {"method":"xpath","selector":"//div[@id=\'nameId\']/div/div[2]"}' ;
driver.switch_to_alert(); driver.find_elements_by_xpath("//div[@id='nameId']/div/div[2]").click()
Отредактировано TorchTT (Фев. 19, 2014 19:10:17)
Офлайн
36
Похоже Вам вот это нужно.
TorchTTЭто просто Ваша невнимательность, функция, которую Вы вызываете возвращает список.
то появляется ошибка:
AttributeError: ‘list’ object has no attribute ‘click’
Офлайн
Вопрос решен.
Всплывающее окно оказалось просто новым элемент в HTML-тэге исходной страницы.
Для обращения к элементу появившегося окна необходимо выполнить (XPath изменен на корректный):
time.sleep(10) driver.find_element_by_xpath("//div[@class='nameId']/div[@sbisname='Ok']/div").click();
Офлайн