我在代理服务器后面。使用Selenium 2.39,Python 2.7.6和ChromeDriver 2.9,每当我.quit()在Chrome实例上调用时,都会收到HTTP 407错误。使用FirefoxDriver时,不会发生此类错误。
.quit()
Traceback (most recent call last): File "C:\Users\Tetrinity\Desktop\chrometest.py", line 7, in <module> browser.quit() File "C:\Python27\lib\site-packages\selenium-2.39.0-py2.7.egg\selenium\webdriver\chrome\webdriver.py", line 82, in quit self.service.stop() File "C:\Python27\lib\site-packages\selenium-2.39.0-py2.7.egg\selenium\webdriver\chrome\service.py", line 97, in stop url_request.urlopen("http://127.0.0.1:%d/shutdown" % self.port) File "C:\Python27\lib\urllib2.py", line 127, in urlopen return _opener.open(url, data, timeout) File "C:\Python27\lib\urllib2.py", line 410, in open response = meth(req, response) File "C:\Python27\lib\urllib2.py", line 523, in http_response 'http', request, response, code, msg, hdrs) File "C:\Python27\lib\urllib2.py", line 448, in error return self._call_chain(*args) File "C:\Python27\lib\urllib2.py", line 382, in _call_chain result = func(*args) File "C:\Python27\lib\urllib2.py", line 531, in http_error_default raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) HTTPError: HTTP Error 407: Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy service is denied. )
可以将问题简化为以下脚本,我将其另存为chrometest.py(如上述堆栈跟踪所示):
chrometest.py
from selenium import webdriver browser = webdriver.Chrome() browser.get("http://www.google.co.uk") browser.quit()
此脚本成功打开了Chrome并导航到Google。在.quit()随后导致上述崩溃,留下一个死ChromeDriver实例躺在附近。可能是什么原因造成的,如何预防?
研究已经变成了很多的答案的都不太相关,过于复杂的东西或者声称这是一个已经固定的问题。
由于我今天浪费了数小时试图寻找解决方案,所以我认为我要记录下对我有用的东西。我通过打开“ Internet选项”>“连接”>“ LAN设置”>“高级”并将其插入127.0.0.1“例外”框中来解决此问题。完成此操作后,请chrometest.py完成操作且没有错误,并且成功关闭了ChromeDriver窗口。
127.0.0.1
这种解决方案应归功于这里的提问者。奇怪的是,这个问题从未出现在我的搜索中。当我几乎要输入该问题的原始版本时,它出现在“相似问题”部分中(如图)。