【发布时间】:2017-07-27 19:04:58
【问题描述】:
我正在编写一个脚本来为我正在进行的项目下载文件。我的公司在 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吗? -
我通过 gmail 将脚本发送到我的个人计算机,当复制并粘贴到 notepad++ 时它运行良好。但是,如果我删除 driver = webdriver.FireFox() 行,然后重新键入它,我会得到相同的属性错误。我尝试将空格转换为制表符,将制表符转换为空格,没有区别。这似乎是非常奇怪的行为,并且此属性错误似乎不正确,因为它在复制和粘贴时工作正常。会不会是我运行的 selenium (3.4.3) 版本与我的 FireFox (54.0.1) 版本不同步?
-
Chrome()、Ie() 和 PhantomJS() 都可以正常工作,所以我猜 FireFox.() 在过渡到 geckodriver.exe 时正在修复一些错误?跨度>
标签: python-3.x selenium geckodriver