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

Selenium获取标签内文本遇UnicodeEncodeError错误的解决方法

解决Unicode编码错误并正确获取h1标签目标文本

一、先解决UnicodeEncodeError编码问题

这个错误是因为Python环境默认编码(cp950,繁体中文编码)无法处理某些特殊字符(比如\u2764是爱心符号),可以通过以下方式解决:

  • 在Python脚本开头添加编码声明:
    # -*- coding: utf-8 -*-
    
  • 强制设置标准输出为UTF-8编码,在脚本开头加入:
    import sys
    sys.stdout.reconfigure(encoding='utf-8')
    
  • 如果在Windows命令行运行脚本,先执行命令切换终端编码:
    chcp 65001
    

二、正确获取h1标签内的“SOHO yaya”文本

你当前的代码仅定位到h1元素,未提取文本;且h1内部包含span、div子元素,直接用.text会拿到所有子元素的文本内容,需要针对性提取h1的直接文本节点:

方法1:使用XPath定位直接文本节点

from selenium.webdriver.common.by import By

# 定位h1元素后,提取其直接文本节点内容并去除空白
h1_element = driver.find_element(By.XPATH, '//h1[@class="nowrap"]')
target_text = h1_element.find_element(By.XPATH, './text()').get_attribute('textContent').strip()
print(target_text)  # 输出:SOHO yaya

方法2:用JavaScript获取第一个文本节点

target_text = driver.execute_script("return document.querySelector('h1.nowrap').firstChild.textContent.trim();")
print(target_text)

内容的提问来源于stack exchange,提问作者Janson Chan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 18:30:16