Selenium WebDriver Message: no such element: Unable to locate element

Моя программа заходит в инстаграм по заданному хештегу и открывает первый пост, чтобы потом регулярными выражениями получить описание или же поставить лайк селениумом.

Код просто не обнаруживает элемент, какой-бы метод я не использовал(css_selector, find_element_by_class, find_element_by_xpath).

import re
import random
import time

import requests
import lxml

from selenium import webdriver

getHashtag = 'москва'
url = 'https://www.instagram.com/explore/tags/' + getHashtag

print(url)

driver = webdriver.Chrome()
driver.get(url)
element = driver.find_element_by_xpath('/html/body/div[1]/section/main/article/div[1]/div/div/div[1]/div[1]/a/div/div[2]')
element.click()

Получаю ошибку:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[1]/section/main/article/div[1]/div/div/div[1]/div[1]/a/div/div[2]"}

Прочитал, что страница может не до конца прогружаться, поэтому добавил

 driver.implicitly_wait(10)

Теперь открывается страница и код дальше не идёт, получаю следующие предупреждения:

[12:38:45.454] USB: usb_device_handle_win.cc:1048 Failed to read descriptor from node connection: ╧Ёшёюхфшэхээюх ъ ёшёЄхьх єёЄЁющёЄтю эх ЁрсюЄрхЄ. (0x1F)

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


Ответы (1 шт):

Автор решения: Артем

Нужно добавить user агента (т.к. сервак видит, что это программа). Ещё в selenium есть метод ждать загрузки элемента (выбрать что есть на странице гарантировано).

Увеличить время ожидания, для проверки.

Но мне кажется что из-за агента.

→ Ссылка