在我的python项目中,我正在使用Splinter(https://splinter.readthedocs.io/en/latest/)打开浏览器并尝试访问网站:

from splinter import Browser

browser = Browser('chrome')
browser.visit('http://www.google.com')

并且浏览器打开,并且无法访问http://www.google.com,出现以下错误:
Traceback (most recent call last):
  File "practice.py", line 90, in <module>
    browser = Browser('chrome')
  File "/Library/Python/2.7/site-packages/splinter/browser.py", line 63, in Browser
    return driver(*args, **kwargs)
  File "/Library/Python/2.7/site-packages/splinter/driver/webdriver/chrome.py", line 31, in __init__
    self.driver = Chrome(chrome_options=options, **kwargs)
  File "/Library/Python/2.7/site-packages/selenium-3.4.0-py2.7.egg/selenium/webdriver/chrome/webdriver.py", line 69, in __init__
    desired_capabilities=desired_capabilities)
  File "/Library/Python/2.7/site-packages/selenium-3.4.0-py2.7.egg/selenium/webdriver/remote/webdriver.py", line 98, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "/Library/Python/2.7/site-packages/selenium-3.4.0-py2.7.egg/selenium/webdriver/remote/webdriver.py", line 185, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/Library/Python/2.7/site-packages/selenium-3.4.0-py2.7.egg/selenium/webdriver/remote/webdriver.py", line 247, in execute
    response = self.command_executor.execute(driver_command, params)
  File "/Library/Python/2.7/site-packages/selenium-3.4.0-py2.7.egg/selenium/webdriver/remote/remote_connection.py", line 464, in execute
    return self._request(command_info[0], url, body=data)
  File "/Library/Python/2.7/site-packages/selenium-3.4.0-py2.7.egg/selenium/webdriver/remote/remote_connection.py", line 488, in _request
    resp = self._conn.getresponse()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 1132, in getresponse
    response.begin()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 453, in begin
    version, status, reason = self._read_status()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 417, in _read_status
    raise BadStatusLine(line)
httplib.BadStatusLine: ''

奇怪的是,它可以在另一台Mac计算机上运行,​​但是当我将其转移到另一台Mac计算机时,遇到了该错误。

进行了研究,但无法确定真正的问题是什么。我可能做错了什么?我应该如何解决该问题?

预先谢谢您,一定会赞成/接受答案

最佳答案

您描述的症状指向过时的chromedriver。转到"ChromeDriver Downloads"页面并下载最新的驱动程序。对于当前最新的稳定版Chrome 58,您需要chromedriver 2.29。

注意,要检查chromedriver版本,请执行:

$ chromedriver --version

并且,还要确保您拥有最新的splinterselenium:
$ pip install -U splinter selenium

关于python - Python + Splinter : Error - httplib. BadStatusLine: '',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43649823/

10-11 22:24
查看更多