Как выбрать несколько элементов одного класса? - PullRequest
1 голос
/ 13 июня 2019

Мне нужно выбрать несколько элементов одного и того же класса.

html псевдокод:

<div class="a">
    <div class="2">
    ...
    ...
    ...
        <div class="3">
            <div class="4">
            <div class="4">
<div class="b">
    <div class="2">
    ...
    ...
    ...
        <div class="3">
            <div class="4">
            <div class="4">

код Python:

list = driver.find_elements_by_xpath("//div[@class='a']/div[@class=...]/div[@class='2']/div[@class='3']")

Я хочу выбрать элементы с class="4" из ветви, начинающейся с class="b".С моим кодом я получаю список с нулевой длиной.Я пробовал варианты с поиском css-селектором, но получил тот же результат.Нет ошибок или исключений.

Ответы [ 3 ]

0 голосов
/ 13 июня 2019

Вы можете использовать descendant XPath ax, чтобы выбрать только потомков элемента div, имеющего атрибут класса из b

Что-то вроде:

//div[@class='b']/descendant::*/div[@class='4']

должен сделать трюк за вас:

enter image description here

Дополнительная информация:

0 голосов
/ 13 июня 2019

В частности, ваша ситуация решается следующим образом: xPath:

//*[@class = "b"]//*[@class = "4"]

Или, указывая на элемент div:

//div[@class = "b"]//div[@class = "4"]

enter image description here

0 голосов
/ 13 июня 2019

Попробуйте следующее xpath.

//div[@class='b']//div[@class='4']

list = driver.find_elements_by_xpath("//div[@class='b']//div[@class='4']")
...