Я пытаюсь получить количество публикаций учетной записи Instagram, которая находится в теге span, используя Python Selenium с Chrome драйвером это часть html кода:
<!doctype html>
<html lang="fr" class="js logged-in client-root js-focus-visible sDN5V">
<head>-</head>
<body class style>
<div id="react-root"> == 50
<form enctype^murtipart/form-data" method="POST" role="presentation">_</form>
<section class=”_9eogI E3X2T">
<div></div>
<main class="SCxLW o64aR " role=”main">
<div class=”v9tJq AAaSh VfzDr">
<header class=" HVbuG">_</header>
► <div class="-vDIg">_</div>
► <div class="_4bSq7">_</div>
▼ <ul class=” _3dEHb">
▼ <li class=” LH36I">
▼ <span class=" _81NM2">
<span class="g47SY 10XF2">6 588</span>
"publications"
</span>
</li>
КОД PYTHON
def get_publications_number(self, user):
self.nav_user(user)
sleep(16)
publication = self.driver.find_element_by_xpath('//div[contains(id,"react-root")]/section/main/div/ul/li[1]/span/span')
СООБЩЕНИЕ ОБ ОШИБКЕ
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element:
{"method":"xpath","selector":"//div[contains(id,"react-root")]/section/main/div/ul/li[1]/span/span"}
(Session info: chrome=80.0.3987.149)
ВАЖНО:
Этот xpath вставлен из инспектора элементов Chrome, поэтому я не думаю, что это проблема. Когда я ставлю self.driver.find_elements_by_xpath()
(с 's'), ошибки не будет, а если я сделаю:
for value in publication:
print(value.text)
, ошибки тоже не будет, но ничего не будет напечатано
ТАК ВОПРОС:
Почему я получаю эту ошибку, пока существует Xpath?