2017-03-29 50 views
0

我在Windows 7上運行的Python 3.6.0我已經安裝了硒版本3.3.1:無法創建硒webdriver.Firefox()的實例

Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 07:18:10) [MSC v.1900 32 bit (Intel)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import selenium 
>>> selenium.__version__ 
'3.3.1' 

我也有我的路徑中的可執行geckodriver :

geckodriver.exe --version 
geckodriver 0.15.0 

我下面的步驟the official Getting Started guide for Selenium

>>> from selenium import webdriver 
>>> from selenium.webdriver.common.keys import Keys 
>>> driver = webdriver.Firefox() 

但是,調用webdriver.Firefox()永遠不會返回一個實例。它只是掛在那裏,直到我打手動ctrl+c,在該點以下堆棧跟蹤打印出來:

>>> driver = webdriver.Firefox() 
Traceback (most recent call last): 
    File "C:\Python36-32\lib\socket.py", line 586, in readinto 
    return self._sock.recv_into(b) 
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "c:\dev_env\test\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 155, in __init__ 
    keep_alive=True) 
    File "c:\dev_env\test\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 92, in __init__ 
    self.start_session(desired_capabilities, browser_profile) 
    File "c:\dev_env\test\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 179, in start_session 
    response = self.execute(Command.NEW_SESSION, capabilities) 
    File "c:\dev_env\test\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute 
    response = self.command_executor.execute(driver_command, params) 
    File "c:\dev_env\test\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 415, in execute 
    return self._request(command_info[0], url, body=data) 
    File "c:\dev_env\test\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 447, in _request 
    resp = self._conn.getresponse() 
    File "C:\Python36-32\lib\http\client.py", line 1331, in getresponse 
    response.begin() 
    File "C:\Python36-32\lib\http\client.py", line 297, in begin 
    version, status, reason = self._read_status() 
    File "C:\Python36-32\lib\http\client.py", line 258, in _read_status 
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1") 
    File "C:\Python36-32\lib\socket.py", line 586, in readinto 
    return self._sock.recv_into(b) 
KeyboardInterrupt 
>>> 

爲什麼我無法創建browser對象作爲官方指南中指出?

+0

不要把它算作一個答案,而是尋找firefox geckodriver。這可能是你的問題。 –

+0

什麼是Firefox版本? – franklinsijo

+0

@franklinsijo Firefox版本24.8.1 –

回答

-1

我假設你已經下載了geckodriver。現在你所要做的就是:

System.setProperty("webdriver.gecko.driver", path to geckodriver.exe);