我正在尝试从这样的结构中获取文本:
...
<div class="a">
<div class="a">
<div class="a">
<div class="inner">
<a>
<div class="a">...</div>
<div class="a">></div>
<div class="important class">Some interisting text</div>
<div class="a">...</div>
</a>
<a>
<div class="a">
<button class="criterion A">...</button>
</div>
</a>
</div>
</div>
</div>
</div>
<div class="a">
<div class="a">
<div class="a">
<div class="inner">
<a>
<div class="a">...</div>
<div class="a"/>
<div class="important class">Some interisting text</div>
<div class="a">...</div>
</a>
<a>
<div class="a">
<button class="criterion B">...</button>
</div>
</a>
</div>
</div>
</div>
</div>
...
我想要的是:
从具有 class="important class"的 div 获取文本的路径,该路径匹配 button
具有 class="B"
属性的条件。
当我使用 selenium 时,我尝试了类似下面的方法来检索 XPath 列表:
list_xpath = driver.find_elements_by_xpath('.//div[@class="importante class" and .//button[@class="cirterion B"]]')
但它返回一个空列表。
要检索文本,我稍后会做:
for path in list_xpath:
print(path.text)
给定另一个分支中的标准,获取这些文本的正确方法是什么?
最佳答案
试试这个 XPath:
//a[.//button[@class="cirterion B"]]/preceding-sibling::a//div[@class="importante class"]
关于python - XPath:在另一个 DIV 中获取给定条件的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54409896/