Webdriver中用xpath查询子元素

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")

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

你可能感兴趣的:(python,dom,xpath,children,webdriver,parent)