You need to enable JavaScript to run this app. Python Selenium运行触发unicodeescape类SyntaxError报错求助
优惠活动
大模型
产品
解决方案
定价
更多

Python Selenium运行触发unicodeescape类SyntaxError报错求助

报错本质

这个异常是Python字符串转义规则和Windows路径写法冲突导致的:

  • Python语法中,反斜杠\是字符串内的转义起始标识,其中\U是Unicode转义的专属前缀,要求后续必须跟8位十六进制的Unicode编码值才能正常解析
  • 配置user-data-dir的代码行里,路径C:\Users\...的结构刚好让\和后面的Users首字母U组成了\U转义前缀,Python解析时发现后续字符凑不成符合要求的Unicode编码结构,就抛出了截断的转义解码错误。
  • 原代码还有两处逻辑缺陷会导致运行失败:一是没有实例化Options类的对象,直接调用options.add_argument会触发未定义变量报错;二是先硬编码chromedriver路径初始化了一次driver,后续又重复初始化带配置的driver,前面的无效初始化完全冗余。
对应修复方案

Windows路径的转义问题,任选以下一种写法就能解决:

  1. 给字符串加r前缀改成原始字符串,关闭Python的转义解析功能
    options.add_argument(r"user-data-dir=C:\Users\Username\AppData\Local\Google\Chrome\User\Data")
    
  2. 把路径里的单\替换成\\,用转义后的反斜杠代表实际的目录分隔符
    options.add_argument("user-data-dir=C:\\Users\\Username\\AppData\\Local\\Google\\Chrome\\User\\Data")
    
  3. 把路径的分隔符统一换成正斜杠/,Chrome和Windows系统都能正常识别这类路径
    options.add_argument("user-data-dir=C:/Users/Username/AppData/Local/Google/Chrome/User/Data")
    
修正后的完整可运行代码
from selenium import webdriver
from time import sleep
from selenium.webdriver.chrome.options import Options

# 先实例化Chrome配置对象
options = Options()
# 加载自定义用户数据目录参数,使用原始字符串避免路径转义问题
options.add_argument(r"user-data-dir=C:\Users\Username\AppData\Local\Google\Chrome\User\Data")
# 一次性完成driver初始化,传入chromedriver路径和配置参数
driver = webdriver.Chrome(executable_path=r"C:\Program Files (x86)\chromedriver.exe", chrome_options=options)

sleep(1)
driver.get("https://web.whatsapp.com/")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.04 14:06:06