Невозможно найти элемент XPath (Selenium) - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь использовать этот XPath в Selenium с Python, но генерируется ошибка: «Сообщение: нет такого элемента: невозможно найти элемент»:

driver.find_element(By.XPATH, '//div[contains (@class, "files-list-grid-view")]/div[1][contains (@class, "folder")]').click()

Этот код работает в Dev Tools с $x ().

enter image description here

Мне нужен отмеченный элемент.

1 Ответ

0 голосов
/ 11 февраля 2019

Если значение узла dataref является уникальным и не изменяется динамически, вы можете использовать следующий xpath:

element = driver.find_element_by_xpath("//div[@dataref='folder-0']")

Если вы все еще получаете ошибку, попробуйте дать некоторую задержку перед поискомкак показано ниже:

from time import sleep

sleep(3)
element = driver.find_element_by_xpath("//div[@dataref='folder-0']")
# And perform some action here

Тем не менее, это не работает, затем проверьте frame или iframe, используя //iframe или //frame локаторы, и если есть какие-либо совпадения и локатор, которым вы являетесьПопытка найти находится в каком-то кадре, затем переключиться на него с помощью строки ниже и попытаться снова запустить ваш код:

from time import sleep

# Switch to corresponding frame
driver.switch_to_frame("frame locator")

# Wait for sometime
sleep(3)
# Try to find an element
element = driver.find_element_by_xpath("//div[@dataref='folder-0']")
# And perform some action here

Я надеюсь, что это работает ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...