如何使用XPath使用非标记文本在div内选择div ?



我想使用xpath与"Laura"作为参数。

<div class="label">
<div class="membername"></div>
David
</div>
<div class="label">
<div class="membername"></div>
Laura
</div>

这是我目前得到的XPath:

//div[@class='label']/div[@class='membername']

接下来是什么?

编辑:我忘了指定div class="label"是动态的。所以有可能会有5组div class="label"div class="green"不会是第二个class = membername的元素。

该元素是标识列表中的第二个元素,因此使用定位符:

(//div[@class="membername"])[2]

所以你可以使用它的代码为:

print(driver.find_element_by_xpath('(//div[@class="membername"])[2]').text)

更新:

laura不在div//div[@class="membername"]中,它是//div[@class="label"]的一个文本节点

//div[text()[contains(.,"Laura")]]

如果只需要成员元素,则使用:

//div[text()[contains(.,"Laura")]]/div[@class="membername"]

最新更新