2015-09-24 1 views
0

Я использую Python в селене для создания скриптов. При использовании приведенного ниже кода возникает синтаксическая ошибка. Я мог обнаружить, что проблема связана с зарегистрированным товарным знаком «®» в заголовке. Пожалуйста, помогите мне в этом.SyntaxError: код не UTF-8, начинающийся с ' xae'

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 
+1

Добавьте '# - * - кодирование: utf-8 - * -' в верхней части файла. –

ответ

2

Содержание Вашего вопроса в порядке: я осмотрел его, чтобы увидеть, что StackOverflow обеспечивает символ ®, закодированный в UTF-8.

На основании сообщения об ошибке в заголовке, Python читает файл как UTF-8, но я подозреваю, что ваш редактор использует другую кодировку для сохранения файла.

Возможно, он использует ISO 8859-1 (aka 'latin1') или что-то еще. ISO 8859-1 определяет байт 0xAE в качестве зарегистрированного символа товарного знака. Unicode также определяет код U + 00AE в качестве зарегистрированного символа торговой марки.

У вас есть два решения:

  1. определить в какой кодировке редактор использует и сказать питона, поставив # encoding: foo в верхней части файла
  2. настроить редактор использовать UTF-8
+0

Поскольку я новичок в python, не могли бы вы помочь мне исправить это с помощью любого из решений. Я использую PyCharm для написания скриптов. –

+0

Я использую vim (и затмение). Возможно, [это] (https://www.google.com/search?q=pycharm+set+encoding) укажет вам в правильном направлении. – dsh

Смежные вопросы