Selenium webdriver和URIError:" String包含非法的UTF-16序列"

时间:2017-04-30 04:15:22

标签: html selenium beautifulsoup python-3.5

背景:我刚学会了如何使用" Webdriver"和#34; Beautifulsoup"两天。

问题: 我使用以下代码下载网页:

from selenium import webdriver
from bs4 import BeautifulSoup

driver = webdriver.PhantomJS(executable_path)
driver.get('https://mojim.com/twy100468x17x18.htm')
pageSource = driver.page_source
...

然后,我遇到了这个错误

WebDriverException: Message: URIError - String contained an illegal UTF-16 sequence.

尝试:我尝试用{替换pageSource = browser.page_source (driver.page_source).encode('ascii', 'ignore')
  (driver.page_source).encode('utf-8') (由here建议)
但仍然以同样的错误结束....

页面来源 here

我该怎么办?在HTML中是否有非法文本或什么?
谢谢

1 个答案:

答案 0 :(得分:0)

我刚刚克服了这种情况。这是由不同的非UTF字符引起的 enter image description here

我用Edge驱动程序解决了这个问题(Chrome和Mozilla并没有解决这个问题)。所以你可以使用它:

(a=b)=c

问题是Edge并不像PhantomJS那样无头,所以刮我只在这个糟糕的例外链接上使用它。 Egde几乎和PhantomJS一样快。