LookupError:未知编码:Selenium和Python的idna错误

时间:2019-02-20 21:11:34

标签: python selenium selenium-webdriver python-requests python-unicode

我试图使用Python中的selenium进行入门性的Web抓取,但是在启动基本的Chrome实例时,我一直遇到这个神秘的错误:

LookupError: unknown encoding: idna

使用以下代码时:

from selenium import webdriver

url = 'http://www.webscrapingfordatascience.com/complexjavascript/'

driver = webdriver.Chrome()
driver.get(url)

我用brew cask install chromedriver安装了Chrome必需的网络驱动程序。

我尝试在网上搜索潜在的解决方案,但是似乎没有其他人问过有关使用Python运行硒的问题,而且这个错误也相当模糊。

编辑

问题hereimport encodings.idna的回答给了我新的模块错误,在Python中找不到。

此外,我的系统是Mac OS 10.11上的mbp,Python是3.7.2(Clang 8.0.0),pip是=19.0.3

echo $PATH提供了以下输出:

/Users/Michael/miniconda3/bin:/Users/Michael/intelpython3/bin:/Users/Michael/miniconda3/bin:/Users/Michael/miniconda3/bin:/opt/local/bin:/opt/local/sbin:/usr/local/sbin:/Users/Michael/anaconda3/lib/python3.6/site-packages:/Library/Frameworks/Python.framework/Versions/3.7/bin:/Users/Michael/anaconda3/bin:/Users/Michael/anaconda3/bin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/MacGPG2/bin:/Library/TeX/texbin’:/Users/Michael/intelpython3/bin

1 个答案:

答案 0 :(得分:0)

此错误消息...

LookupError: unknown encoding: idna

...表示idnautf-8之间存在编码 / 解码错误。

此错误来自 models.py _get_idna_encoded_host(host)方法,其定义如下:

@staticmethod
def _get_idna_encoded_host(host):
    import idna

    try:
        host = idna.encode(host, uts46=True).decode('utf-8')
    except idna.IDNAError:
        raise UnicodeError
    return host

有关体系结构 os 的一些系统详细信息将有助于我们以更好的方式调试问题。但是:


解决方案

解决方案是添加以下导入:

import encodings.idna

注意:确保 pip 位于 PATH 上并且为 9.0.1 或更好。