如何通过相同的class选择一些元素?

How to choose some elements by the same class?

我需要 select 一些元素 class。

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="b" 开头的分支中选择 class="4" 的元素。使用我的代码,我得到了空长度的列表。我尝试了通过 css-selector 查找的变体,但得到了相同的结果。没有错误或异常。

尝试以下 xpath.

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

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

您可以使用 descendant XPath axe in order to select only the children of the div having class attributeb

类似于:

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

应该可以帮到你:

更多信息:

具体你的情况是这样解决的 xPath:

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

或指向 div 元素:

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