2017-10-19 150 views
1

嘗試運行以下腳本以轉至this網站,然後單擊鏈接以導出csv。使用Python單擊按鈕腳本

from selenium import webdriver 
driver=webdriver.Firefox() 
driver.get("https://www.draftkings.com/contest/gamecenter/46877680") 
elem1 = driver.find_element_by_link_text("Export Lineups to CSV") 
elem1.click() 

我碰到下面的錯誤,並不能找到一個geckodriver。我點安裝硒。我從一個較舊的視頻中獲得了該視頻,並且我目前運行Python 3.6,因此這可能也是問題的一部分。我哪裏錯了?

Traceback (most recent call last): File "C:\Program Files\Python36\lib\site-packages\selenium\webdriver\common\service.py", line 74, in start stdout=self.log_file, stderr=self.log_file) File "C:\Program Files\Python36\lib\subprocess.py", line 707, in init restore_signals, start_new_session) File "C:\Program Files\Python36\lib\subprocess.py", line 992, in _execute_child startupinfo) FileNotFoundError: [WinError 2] The system cannot find the file specified

在處理上述異常,另一個異常:

Traceback (most recent call last): File "C:/Users/mike/Desktop/Lineup1.py", line 2, in driver=webdriver.Firefox() File "C:\Program Files\Python36\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 144, in init self.service.start() File "C:\Program Files\Python36\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start os.path.basename(self.path), self.start_error_message) selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

+0

當你收到一條你不明白的錯誤信息時,你應該做的第一件事就是Google。這通常會找到你至少可以開始的答案。 – JeffC

+0

這就是我如何堆棧溢出Jeff .. –

回答

-1

其實,硒客戶端綁定嘗試找到從系統路徑中geckodriver可執行文件。您需要將包含可執行文件的目錄添加到系統路徑。 在Unix系統中,你可以做以下的,如果您使用的是bash兼容的外殼將其追加到系統的搜索路徑:

export PATH=$PATH:/path/to/directory/of/executable/downloaded/in/previous/step 

在Windows上,您將需要更新Path系統變量添加可執行geckodriver手動或命令行的完整目錄路徑(不要忘記在將可執行geckodriver添加到系統PATH中以使其生效後重新啓動系統)。原理與Unix上的相同。

,然後嘗試使用以下

from selenium import webdriver 
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary 

binary = FirefoxBinary('path/to/installed firefox binary') 
browser = webdriver.Firefox(firefox_binary=binary) 

參考,

https://github.com/mozilla/geckodriver/releases

https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver

+0

我偶然發現了這個早期的Neel,謝謝你的迴應。我不知道如何更新Path系統變量以手動或命令行方式將完整目錄路徑添加到可執行geckodriver(不要忘記在將可執行geckodriver添加到系統PATH中以使其生效後重新啓動系統)。 –

+0

我去了https://github.com/mozilla/geckodriver/releases並下載了gecko.exe。在文件路徑中意味着什麼?我目前只是在我的桌面 –

+0

行上有lineup.py腳本,我知道了。它需要我每次都登錄。這將是另一個令人頭疼的問題,但至少會打開。另一件事是我不認爲它點擊我要求的鏈接。 –

1

下載geckodriver並拖動和geckodriver.exe文件拖放到項目根文件夾。這樣,就不需要在代碼中添加geckodriver路徑,並再次嘗試執行代碼。沒有錯誤會發生