配置Selenium导入webdriver时出现SyntaxError如何解决
Selenium配置Unicode转义报错修复方案
运行Selenium启动Chrome驱动时抛出如下语法错误:
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
报错原因
Windows路径默认使用的反斜杠\在Python字符串中是转义符标记,路径中C:\Users片段的\U会被Python识别为Unicode转义序列的开头,但后续字符不符合\U后接8位十六进制数的编码规则,因此直接触发解析错误。
之前尝试的加r前缀、替换双反斜杠、替换正斜杠的方案本身完全有效,修改后仍报错基本都是因为修改代码后未保存文件、运行时加载的是旧版本代码导致的。
验证可用的正确写法
三种路径写法任选其一即可,注意路径要补全chromedriver的.exe后缀(系统默认隐藏已知文件扩展名时很容易漏写):
- 原始字符串写法(最推荐,不需要手动改路径符号)
from selenium import webdriver # r标记必须紧贴字符串引号前,不能留空格 chrome_driver_path = r"C:\Users\pc\Desktop\chromedriver.exe" driver = webdriver.Chrome(executable_path=chrome_driver_path) driver.get("https://instagram.com") driver.close()
- 双反斜杠转义写法
from selenium import webdriver chrome_driver_path = "C:\\Users\\pc\\Desktop\\chromedriver.exe" driver = webdriver.Chrome(executable_path=chrome_driver_path) driver.get("https://instagram.com") driver.close()
- 正斜杠路径写法(Python可在Windows下自动识别该格式路径)
from selenium import webdriver chrome_driver_path = "C:/Users/pc/Desktop/chromedriver.exe" driver = webdriver.Chrome(executable_path=chrome_driver_path) driver.get("https://instagram.com") driver.close()
注意事项
- 修改代码后必须先保存文件再运行,否则所有修改都不会生效
- 提前确认本地Chrome浏览器版本,下载对应大版本的chromedriver,否则路径配置正确也会出现驱动匹配失败的问题
- 不要把chromedriver放在含中文或特殊字符的路径下,避免出现额外的编码解析问题
内容的提问来源于stack exchange,提问作者NEHİR ERGAN
相关产品推荐
相关产品推荐

