Python Selenium从id=li_hw2元素经父li节点定位level2元素方法
完全可以通过XPath实现该需求,你可以使用XPath的相对轴定位语法,从已定位的元素出发向上查找祖先节点、再向下查找后代节点即可,示例代码如下:
# 先从当前元素向上找最近的li祖先节点,也就是你要的父级li parent_li = level_1_elem.find_element(By.XPATH, './ancestor::li[1]') # 再从父级li出发找后代中class为level2的div元素 level2_elem = parent_li.find_element(By.XPATH, './/div[@class="level2"]')
语法说明
ancestor::li[1]:表示查找当前节点的所有祖先节点中,距离最近的第一个li标签节点- 路径开头的
.表示相对当前节点做定位,避免从整个文档根节点开始查找 - 你也可以把两步合并成一行写法:
level2_elem = level_1_elem.find_element(By.XPATH, './ancestor::li[1]//div[@class="level2"]')
内容的提问来源于stack exchange,提问作者crex
相关产品推荐
相关产品推荐

