python - 由于带有 Selenium 的 Python 中的变音符号而导致的错误
问题描述
目前,我正在尝试通过重建 Instgram 机器人来尝试我在 Python 中的第一步。
不幸的是,每次我运行我的程序时,我都会收到错误:
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xe4 in position 23: invalid continuation byte
错误的代码行是:
like_button = lambda: driver.find_element_by_xpath('//span[@aria-label="Gefällt mir"]').click()
该错误是由德语变音符号“ä”引起的,但我必须使用它,因为它是来自 like 按钮的 xpath。
我已经用谷歌搜索了,有解决方案将 # - - coding: utf-8 - - 放在第一行。
不幸的是,它没有帮助。
如果您能给我一些建议,那就太好了。
安团
解决方案
带有变音符号 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")
或者在尝试/捕获时对元素进行编码以尝试隔离特殊字符。
推荐阅读
- azure - Azure.Storage.Blobs.BlobServiceClient CopyFromUri() 在返回最新的 ETag 之前似乎没有完成复制
- javascript - JS:不确定为什么函数返回
- reactjs - 从域调用时,Firebase 函数不执行
- python - Python WebScraping FlashScore
- ios - 如何使用附加数据将 apns 令牌发送到服务器
- python - 我怎样才能将我的整数输入分成 2 位数字,剩下的一位数字为一位?
- c# - C# .NET core 3 MVC 脚手架与 EntityFrameworkCore
- django - Django:tinymce HTML 格式
- reactjs - 定义回调参考 TypeScript 和 react-slick 库
- python - 为什么我的代码真的很慢,我该如何改进它?