Selenium / xpath - не удается найти элемент, обнаруживает родительский div

Using Python 3+ and Selenium > IE Driver

Я запускаю скрипт Python для автоматизации заполнения формы на странице. Причина обнаружения родительского элемента заключается в том, что существует несколько элементов с одним и тем же классом и нет других идентификаторов, кроме текстового заголовка.

HTML:

<div class="pg_BoxContents"> /* Div I am trying to select */
<div class="Title">Replay Permissions:</div>
</div>

Python / Селен:

replay_form = browser.find_element_by_xpath("//span[contains(text(),'Replay Permissions:')]/ancestor::div[contains(@class, 'pg_BoxContents')]")

Ошибка:

selenium.common.exceptions.NoSuchElementException: Message: Unable to find element with xpath == //span[contains(text(),'Details:')]/ancestor::div[contains(@class, 'pg_BoxContents')]
0
0
225
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Заменять:

//span[contains(text(),'Replay Permissions:')]/ancestor::div[contains(@class, 'pg_BoxContents')]

с:

//div[contains(text(),'Replay Permissions:')]/ancestor::div[contains(@class, 'pg_BoxContents')]

Вы используете //span[... там, где нет span в предоставленном вами HTML. Но есть div.

Другие вопросы по теме