我正在使用selenium,我需要从多个标签上方的链接获取href
!
但我唯一可以使用并且我确信的信息是文本";测试文本"来自h3
标签!以下是示例:
<a href="/link/post" class="link" >
<div class="inner">
<div class="header flex">
<h3 class="mb-0">
Test text!
</h3>
</div>
</div>
</a>
尝试使用以下xpath
来定位所需元素:
//a[@href and .//h3[contains(text(),'Test text!')]]
因此,要获得href
值,必须使用
from selenium.webdriver.common.by import By
href = driver.find_element(By.XPATH, '//a[@href and .//h3[contains(text(),'Test text!')]]')
Prophet答案中的方法的另一种选择是使用类似XPATH的
//h3[contains(text(),"Test text!")]]//ancestor::a
即首先搜索CCD_ 5标签,然后搜索上面的CCD_。
Prophet的答案使用相反的方法,首先找到所有a
标签,然后只保留下面带有正确h3
标签的标签。