You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Xpath获取元素文本?代码报错求解决

XPath获取元素文本方法与代码错误修复

代码错误修复

你的代码存在三个明显问题,修复方案如下:

  • 变量名不一致:初始化的驱动对象是driver,但查找元素时用了navegador,需保持统一。
  • XPath语法错误:复制的路径里包含HTML转义字符",要替换为普通双引号,同时末尾多余的右括号)必须删除。
  • 元素内容获取方式错误:<meta>标签的内容存储在content属性中,无法通过.text直接获取,需调用get_attribute()方法。

修复后的完整代码:

from selenium.webdriver.common.by import By
from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://www.facebook.com/mypage')
# 修正XPath并获取meta标签的content属性值
likes_element = driver.find_element(By.XPATH, '//*[@id="facebook"]/head/meta[4]')
likes = likes_element.get_attribute('content')
print(likes)

XPath获取元素文本的常用方式

  • 普通元素文本获取:针对包含可见文本的元素(如<span>500粉丝</span>),有两种方式:
    1. 直接调用元素的.text属性:
      text = driver.find_element(By.XPATH, '//span[@class="fans-count"]').text
      
    2. 通过XPath的text()节点定位:
      text = driver.find_element(By.XPATH, '//span[@class="fans-count"]/text()').get_attribute('textContent')
      
  • 属性内容获取:对于<meta>、<input>这类无直接文本节点的元素,需通过get_attribute("属性名")提取内容,比如获取输入框值用get_attribute("value"),获取meta标签内容用get_attribute("content")。

内容的提问来源于stack exchange,提问作者Caio Baima

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 13:48:22