Проблема с переходом по второй ссылке
Я пытаюсь автоматизировать действия браузера и столкнулся с проблемой, которую сам решить не смог. Прочитал много всего в интернете, в официальной документации, но не справился. Я в этом деле новичок и хотел бы понять что именно я делаю не так. Ниже я опишу проблему и предоставлю код, который не работает. Проблема появляется на предпоследнем шаге (см. коммент ниже). Это еще не реальный проект, я пока что учусь. Я пытался осуществить такую задумку:
- Открываем поисковик.
- Даём необходимый нам запрос (находим кнопку поиска и жмём на неё)
- Открывается список сайтов, удовлетворяющих нашим ожиданиям.
- Среди предоставленных поисковиком сайтов выбираем первый и кликаем на него.
- На этом шаге мы уже оказываемся на новом сайте и там необходимо также выбрать какую-то ссылку и перейти по ней. Вот тут и выскакивает проблема.
Ниже я привел пример с xpath, но я пробовал разными методами. Например тем же самым что и предыдущий до него шаг (пытался найти ссылку с помощью частичного указания текста). В предыдущем шаге все нормально и код работает и переходит по ссылке. Но вот уже оказавшись на другом сайте (не в поисковике), тот же самый метод не работает. Выдаёт ошибку, которая указана в самом низу после кода. Дополню, что если я использую тот путь где выдаёт ошибку как первый степ, тоесть без поисковика, то он работает. Это означает что путь к ссылке верный, но именно когда код начинается с другого сайта и по ходу переходит на этот, возникает ошибка при переходе по 3-й ссылке.
import time
link = "url поисковика"
try:
browser = webdriver.Chrome()
browser.get(link)
input1 = browser.find_element_by_class_name("необходимый путь")
input1.send_keys("необходимый input")
button = browser.find_element_by_css_selector("необходимый путь по css")
button.click()
link2 = browser.find_element_by_partial_link_text("часть текста в ссылке")
link2.click()
link2 = browser.find_element_by_xpath("необходимый путь по xpath") #Проблема появляется на этом шаге, если я использую этот степ как первый (без поисковика, то всё получается.Это означает что путь к ссылке правильный, но почему-то он не работает когда весь код начинается с другого сайта.
link2.click()
finally:
time.sleep(30)
browser.quit()
Message: no such element: Unable to locate element: