假设我有以下HTML代码
<div class="12">
<div class="something"></div>
</div>
<div class="12">
<div class="34">
<span>TODAY</span>
</div>
</div>
<div class="12">
<div class="something"></div>
</div>
<div class="12">
<div class="something"></div>
</div>
现在如果我使用driver.find_elements_by_class_name("something")
,那么我将获得HTML代码中的所有类。但我想在HTML中的特定单词(“今天”)之后才能获得课程。如何排除出现在特定单词之前的类。下一个div和类可以处于任何级别。
答案 0 :(得分:1)
您可以使用XPath搜索,如下所示:
driver.find_elements_by_xpath('//*/text()[.="some specific word"]/following-sibling::div[@class="something"]')
请注意,如果您的真实 HTML与提供的简化 HTML
不同,您可能需要进行一些修改更新
如果需要following-sibling
节点不是兄弟姐妹,请将following
替换为div
:
driver.find_elements_by_xpath('//*/text()[.="some specific word"]/following::div[@class="something"]')