You need to enable JavaScript to run this app. Selenium Python查找文本对应父元素并获取已删除文本问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

Selenium Python查找文本对应父元素并获取已删除文本问题咨询

Selenium多级DOM节点文本获取方案

你的现有实现通过链式调用DOM节点属性逐层遍历拿到目标文本,代码如下:

qr = driver.find_elements_by_tag_name('h1')[1].parentElement.parentElement.parentElement.lastChild.firstChild.firstChild.childNodes[0].children[1].children[0].lastChild.lastChild.textContent
print(qr)

注意:该硬编码节点层级的写法稳定性极差,页面DOM结构只要有一处调整,整条路径就会失效,推荐优先使用更稳定的定位方式替代

优化建议

  • 直接通过Xpath的祖先、后代定位语法一步拿到目标元素,不需要手动逐层遍历节点,示例代码如下:
from selenium.webdriver.common.by import By

# 先定位第二个h1元素,再通过相对xpath找目标节点
target_ele = driver.find_elements(By.TAG_NAME, 'h1')[1].find_element(By.XPATH, './ancestor::*[3]//*[last()]/*[1]/*[1]/*/*[2]/*[1]/*[last()]/*[last()]')
qr = target_ele.text
print(qr)
  • 可以直接在浏览器开发者工具中拷贝目标元素的全量Xpath,一步完成定位,代码更简洁易维护
  • Selenium4 已经废弃find_elements_by_tag_name这类旧API,推荐统一使用find_elements(By.定位方式, 定位值)的写法

内容的提问来源于stack exchange,提问作者mohammad adel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 08:15:03