【发布时间】:2019-04-03 12:36:04
【问题描述】:
我正在尝试使用 selenium 打开一个本地文件
driver.get( ('file://' + file ))
其中file 是文件名。
文件名中似乎包含 latin-1 字符:
..\\产品名称——Something Something.html
当我使用file.decode('latin-1') 时,我得到:
..\\产品名称\x96SomethingSomething.html
如果我简单地使用driver.get( ('file://' + file )),我会得到:
UnicodeDecodeError: 'utf8' codec can't decode byte 0x96 in position 81: invalid start byte
如果我使用driver.get( ('file://' + file.decode('latin_1') )),我会收到一条错误消息,指出找不到文件:
...fileNotFound&u=file%3A///C%3A/PRODUCT%20NAME%20%C2%96%20Something%20Something.html.
我不能 100% 确定它所期望的编码,但我尝试将文件名重新编码为 unicode 和 utf-8,但没有成功(同样的错误 - 说找不到文件)。
知道如何解决这个问题吗?不幸的是,重命名文件本身不是一个选项。我想正确解码,然后重新编码(其他人推荐的编码三明治)。
【问题讨论】:
标签: python encoding iso-8859-1