SyntaxError:以'\ xae'开头的非UTF-8代码

时间:2015-09-24 12:32:37

标签: python

我在selenium中使用Python来创建脚本。使用下面的代码获取语法错误。我发现问题在于标题中注册商标符号'®'。请帮我解决这个问题。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()

driver.get('https://advance.lexis.com')
assert 'Lexis Advance® Sign In | LexisNexis' in driver.title

2 个答案:

答案 0 :(得分:2)

您的问题的内容很好:我检查了它,看看StackOverflow提供编码为UTF-8的®符号。

根据标题中的错误消息,Python正在将文件读取为UTF-8,但我怀疑您的编辑器使用不同的编码来保存文件。

也许它正在使用ISO 8859-1(又名'latin1')或其他东西。 ISO 8859-1将字节0xAE定义为注册商标符号。 Unicode还将代码点U + 00AE定义为注册商标符号。

您有两种解决方案:

  1. 确定编辑器正在使用的编码,并通过将# encoding: foo放在文件顶部来告诉python
  2. 将您的编辑器配置为使用UTF-8

答案 1 :(得分:2)

如果您在Eclipse中使用Python 3和Pydev,另一种解决方案是在属性中将文件编码更改为utf-8,如下所示。只需右键单击文件,转到属性,然后将编码更改为utf-8

utf-encoding pydev (eclipse)