Python 3.x Chrome驱动程序可以工作,但GeckoDriver有问题

Python 3.x Chrome驱动程序可以工作,但GeckoDriver有问题,python-3.x,selenium,geckodriver,Python 3.x,Selenium,Geckodriver,我正在编写一个脚本,为我正在进行的项目下载文件。我的公司在Chrome上屏蔽了该网站,但在FireFox上没有,所以我决定尝试一下Geckodriver,但还是遇到了这个问题: AttributeError: module 'selenium.webdriver' has no attribute 'FireFox' 这是我的密码: import selenium.webdriver as webdriver from selenium.webdriver import firefox imp

我正在编写一个脚本,为我正在进行的项目下载文件。我的公司在Chrome上屏蔽了该网站,但在FireFox上没有,所以我决定尝试一下Geckodriver,但还是遇到了这个问题:

AttributeError: module 'selenium.webdriver' has no attribute 'FireFox'
这是我的密码:

import selenium.webdriver as webdriver
from selenium.webdriver import firefox
import os

def init_driver():
    driver = 
webdriver.FireFox(r"C:\Users\Michael.Spencer\Documents\geckodriver.exe")
    driver.wait = webdriver.support.ui.WebDriverWait(driver, 5)
    return driver

def download(driver):

    driver.get("http://www.google.com")

def main():
    driver = init_driver()
    download(driver)
    driver.close()

main()
如果我使用这个,效果很好

webdrive.Chrome(r"C:\Users\Michael.Spencer\Documents\chromedriver.exe")
当我开始打字时,Firefox甚至会弹出,所以现在我不知道如何继续


试试这个,我可能错了,但这可能是您导入的方式

from selenium import webdriver
driver = webdriver.Firefox()

你能试着将你的两个导入语句从selenium import webdriver更改为
吗?
?我通过gmail将脚本发送到我的个人电脑上,当复制并粘贴到记事本++时,它工作得非常好。但是,如果我删除driver=webdriver.FireFox()行,并重新键入它,我会得到相同的属性错误。我试过将空格转换为制表符,将制表符转换为空格,没有任何区别。这似乎是非常奇怪的行为,而且这个属性错误似乎不正确,因为它在复制和粘贴时工作正常。可能是我运行的selenium(3.4.3)版本与我的FireFox(54.0.1)版本不同步吗?Chrome()、Ie()和PhantomJS()都可以,所以我猜FireFox()在转换到geckodriver.exe时正在进行一些错误修复?我可以从“selenium.webdriver导入FireFox”开始。但是当我尝试webdriver.FireFox(r'C:\my\path\geckodrive.exe)时,仍然会出现相同的错误。那么,除了“FireFox”之外,还有其他名称吗?很有趣!当我将您的代码复制到IDE时,它给了我与您面临的相同的错误。因此,删除了所有导入并键入了“from selenium import webdriver”,仍然是相同的错误。然后删除webdriver.Firefox行并再次键入,错误消失了。我不知道它为什么会这样,但你可以尝试一下,将geckodriver添加到Anaconda>>库>>垃圾箱,似乎会有所帮助。我现在遇到以下错误:WebDriverException:无法找到匹配的功能集。这可能与我的公司代理有关,我必须在我的家用电脑上试用这个脚本。有趣的是,chromedriver.exe可以在任何地方,只要指定路径,但geckodriver.exe不能。