Selenium Python Help Получение элемента формы - PullRequest
0 голосов
/ 01 марта 2019

Я пытался получить элементы формы на этом сайте, и по какой-то причине я не могу их получить.Iv пытался всеми возможными способами.Я был бы очень признателен за помощь.

Вот моя последняя попытка

inputs = driver.find_elements_by_xpath("//input[@type='text']")

Здесь - это веб-сайт.

Заранее спасибо.

Редактировать: Ссылка на Github для проекта

Редактировать: Хорошо, поэтому я обнаружил, что если вы перейдете на веб-сайт, на который указывает btn, он будет работать,Поэтому я предполагаю, что slenium не обновляется автоматически до HTML текущей страницы.Как это сделать?

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

если вы получаете 'NoSuchElementException', попробуйте использовать условное ожидание, прежде чем вы найдете find_element.Когда вы загружаете другую страницу, подождите, пока элемент не станет видимым и с ним можно будет взаимодействовать.Руководство для этого здесь

0 голосов
/ 01 марта 2019

проверьте, находится ли элемент внутри iform, если это так, используйте

driver.switchTo().frame("framename")

РЕДАКТИРОВАТЬ

Сосредоточьтесь на чем-то уникальном в теге.Для вашего примера используйте имя класса, используемое в div.Не используйте идентификатор тега ID, так как он меняется со временем.

//*[contains(@class, 'ginput_container ginput_container_text')]/following::*[contains(text(),'Email')]/following::div[1]/descendant::input
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...