2017-10-11 93 views
1

當我嘗試執行我的第一個Selenium/python代碼時出現此錯誤。獲取錯誤:Geckodriver的可執行文件可能有錯誤的權限。**

selenium.common.exceptions.WebDriverException:消息:'Geckodriver'可執行文件可能具有錯誤的權限。

我的代碼:

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

if __name__ == '__main__': 

    binary = FirefoxBinary('C:\Program Files (x86)\Mozilla Firefox\firefox.exe') 
    driver = webdriver.Firefox(firefox_binary=binary, 
           executable_path="C:\\Users\\mohammed.asif\\Geckodriver") 


    driver=webdriver.Firefox() 

    driver.get("www.google.com"); 
+1

:此外,如果您有安裝在系統上的Mozilla Firefox多個實例,您可以通過Options()如下提意火狐二進制的即firefox.exe的絕對路徑linux系統,使用'''哪個geckodriver'''找到geckodriver可執行文件的路徑。然後使用''ll/path/to/geckodriver'''來顯示權限。你應該有執行權。如果你不這樣做,使用'''chmod + x/path/to/geckodriver'''賦予所有用戶執行權限。 –

+0

@ con--他正在使用windows,所以我不認爲建議的東西會起作用 –

+0

您可以嘗試將其他驅動程序放入除'c' –

回答

2

的驅動程序路徑設置不正確,你需要設置路徑,直到該.exe如下圖所示

driver = webdriver.Firefox(firefox_binary=binary, 
           executable_path="C:\\Users\\mohammed.asif\\Geckodriver\\geckodriver.exe") 
+0

謝謝!但它導致我不同的有點錯誤selenium.common.exceptions.WebDriverException:消息:無法找到一組匹配的功能 – Asif

+0

檢查一下這個示例程序是否在您的電腦上運行? 來自selenium import webdriver driver = webdriver。Firefox(executable_path ='D:/Software/BrowsersDriver/GeckoDriver/geckodriver.exe')//設置你的路徑爲,y driver.get('https://google.com/' –

+0

@ShoaibAkhtar正確答案:) + 1 – iamsankalp89

0

首先按@shohib您正在路徑是錯誤的,這是正確的

driver = webdriver.Firefox(firefox_binary=binary, 
           executable_path="C:\\Users\\mohammed.asif\\Geckodriver\\geckodriver.exe") 

對於這個錯誤

錯誤selenium.common.exceptions.WebDriverException:消息:無法 找到匹配的一組功能

你需要做的Firefox和硒罐

正確的組合無論是更新火狐和硒罐,我會建議使用

Firefox 50-52和硒3.4.1

0

雖然與Selenium v3.6.0geckodriverMozilla Firefox努力通過Python綁定,您需要通過它的絕對路徑從this url下載geckodriver.exe並在你的系統中的任何地方,並提供geckodriver.exe的參考同時初始化webdriver。如果你在一個

from selenium import webdriver 
from selenium.webdriver.firefox.options import Options 

if __name__ == '__main__': 
    binary = r'C:\Program Files\Mozilla Firefox\firefox.exe' 
    options = Options() 
    options.binary = binary 
    browser = webdriver.Firefox(firefox_options=options, executable_path="C:\\Utility\\BrowserDrivers\\geckodriver.exe") 
    browser.get('http://google.com/') 
    browser.quit()