Webdriver中用xpath查询子元素

本文介绍如何使用Selenium WebDriver在已获取的DOM节点下进行子元素的精确查找,通过正确设置XPath表达式前缀,实现对特定范围内的元素进行操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

selenium.webdriver类中,可以用find_element("xpath")获取所需要的DOM节点,但我想在获取到的DOM节点上继续查询他的子元素呢?


...
<table id="tabelement">
<tr>
<td class="hello"><td>
<td class="world"><td>
</tr>
</table>


可以用

tab = selenium.webdriver.remote.webdriver.find_element_by_xpath("//table[@id=tabelement]")

得到table DOM节点,但我想继续在此范围内获取<tr> 呢?

文档中说明可以用 selenium.webdriver.remote.webelement  的find_element,也就是可以这样

trs = tab.find_elements_by_xpath("//tr")

但实际获取到的结果却仍然是解析整个html文档得到的<tr>节点。

仔细翻了一遍文档,在Ruby的函数说明中发现原委,xpath需要加一个"."作为标识:

trs = tab.find_elements_by_xpath(".//tr")

这样就是在父元素范围内查找了。

转载于:https://my.oschina.net/memorybox/blog/94182

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值