由于带有Selenium的Python中的变音符号而导致错误

时间:2019-02-21 20:58:24

标签: python selenium instagram

目前,我正在尝试通过重建Instgram bot来尝试使用Python的第一步。

不幸的是,每次我运行程序时,都会出现错误:

  

SyntaxError:(Unicode错误)“ utf-8”编解码器无法解码字节0xe4   位置23:无效的连续字节

错误的代码行是:

like_button = lambda: driver.find_element_by_xpath('//span[@aria-label="Gefällt mir"]').click()

该错误是由德语变音符号“ä”引起的,但我必须使用它,因为它是“ like”按钮的xpath。

我已经在Google上搜索过,并且有解决方案将#--编码:utf-8--放在第一行。

不幸的是,它没有帮助。

如果能给我一些建议,那就太好了。

安端

1 个答案:

答案 0 :(得分:0)

带有变音符AFAIK的a在UTF8字符集中不能表示。 https://en.wikipedia.org/wiki/UTF-8

我会尝试使用ISO-8859-1作为编码。 https://www.ic.unicamp.br/~stolfi/EXPORT/www/ISO-8859-1-Encoding.html

您可以在代码的开头对页面的内容进行编码: driver.find_element_by_tag_name('body')。get_attribute('innerHTML')。encode(“ ISO-8859-1”)

或者在尝试/捕获时对元素进行编码,以尝试隔离特殊字符。