#python-3.x #selenium #selenium-chromedriver
#python-3.x #selenium #selenium-chromedriver
Вопрос:
Я немного новичок в программировании, но python действительно попал в него. Я пытаюсь создать программу, которая автоматически проверяет наличие обновлений на веб-сайте. Я успешно реализовал необходимый код для вызова страницы регистрации, но все же есть один элемент, который не может быть найден. Поскольку мне приходится делать это для нескольких курсов и перебирать их, конкретного идентификатора нет, я попытался найти его по названию, но и это не сработало. Есть ли способ найти кнопку с заголовком «зарегистрироваться».
Я пробовал
driver.find_element_by_xpath("//a[@title ='enroll']").click()
но это не сработало, и я всегда получаю
NoSuchElement
ошибка.
XPATH для кнопки просто: //*[@id="id572"]
Вот часть HTML-кода:
Ответ №1:
На скриншоте предоставленного вами HTML-кода элемент is <button>
, not <a>
.
Попробуйте это выражение xpath //button[@title='enroll']
Комментарии:
1. это сработало с driver.find_element_by_xpath(«//* [@title=’enroll’]»)
2. @cannik Если в моем рабочем коде я предпочитаю использовать
button
, а не*
. Чем точнее информация, тем лучше точно находить элементы.
Ответ №2:
Это должно сделать это, если его нет ни в одном iframes. Просто возьмите кнопку с заголовком «зарегистрироваться» и нажмите. Ваш css-селектор был тегом a, и он может динамически получать идентификатор.
driver.find_element_by_css_selector("button[title ='enroll']").click()