2017-10-11 86 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()