Найти элемент с Dynami c Div? - PullRequest
0 голосов
/ 16 апреля 2020

Можно ли найти элемент, используя xpath, который имеет динамический c div?

test = self.driver.find_element_by_xpath('/html/body/main[1]/div[HERE!]/div[1]/div[1]/div[2]/div[5]')

Я должен найти этот элемент, который изменяет div[HERE!] зависание вашего действия на страница

РЕДАКТИРОВАТЬ

Вот внешний HTML. label является единственной его уникальной частью, а число c (91) является динамическим c ...

 <div class="group">
 <label>Tipo Benefício</label>
 <span><b class="numeric">91</b>AUXILIO DOENCA POR ACIDENTE DE TRABALHO
 </span></div>

1 Ответ

1 голос
/ 16 апреля 2020

Вы можете использовать приведенный ниже относительный xpath для получения значения цифры c.

//div[@class='group']/b[@class='numeric']

Ваш код должен быть

test = self.driver.find_element_by_xpath("//div[@class='group']/b[@class='numeric']")
print(test.text)

Вы можете получить доступ к другим элементам, как показано ниже

# label => //div[@class ='group']/label
# span  => //div[@class ='group']/span

Вы можете обратиться к этой записи , чтобы проверить, что ваши локаторы xpath / css работают как положено в chrome devtools.

...