Javascript python:在使用firefox和selenium时禁用下载弹出窗口

Javascript python:在使用firefox和selenium时禁用下载弹出窗口,javascript,python,selenium,firefox,Javascript,Python,Selenium,Firefox,我有一个脚本,使用selenium和firefox自动化下载操作。 问题是,每当我运行脚本时,我总是从firefox弹出窗口,不断询问我想做什么样的操作,即使我在firefox首选项中设置了下载路径。我检查了文件和文件夹,为所有用户创建master mimeTypes.rdf,但找不到我的(我正在使用ubuntu)。我找到了~/.mozilla/firefox,但我的个人资料名称目录中没有文件,也没有扩展名为.rdf的文件 这是罪犯的照片,让我抓狂 下面是我为禁用弹出窗口所做的操作 profi

我有一个脚本,使用selenium和firefox自动化下载操作。 问题是,每当我运行脚本时,我总是从firefox弹出窗口,不断询问我想做什么样的操作,即使我在firefox首选项中设置了下载路径。我检查了文件和文件夹,为所有用户创建master mimeTypes.rdf,但找不到我的(我正在使用ubuntu)。我找到了~/.mozilla/firefox,但我的个人资料名称目录中没有文件,也没有扩展名为.rdf的文件

这是罪犯的照片,让我抓狂

下面是我为禁用弹出窗口所做的操作

profile = FirefoxProfile()
profile.set_preference("browser.download.panel.shown", False)
profile.set_preference("browser.helperApps.neverAsk.openFile", 'application/zip')
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", 'application/zip')
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.dir", "/home/i-06/Downloads")
driver = webdriver.Firefox(firefox_profile=profile)

我怀疑你是否需要两者都下定义。从代码中删除下面的行

profile.set_preference("browser.helperApps.neverAsk.openFile", 'application/zip')
有时,zip文件的MIME类型可能因服务器而异。它可能是下面的任何一个

  • 应用程序/八位字节流
  • 多部分/x-zip
  • 应用程序/zip
  • 应用程序/zip压缩
  • 应用程序/x-zip-compressed

因此,在“网络”选项卡中,检查您获得的内容类型,并将其添加到您的个人资料中,以确保对话框不会出现

我花了很多时间试图抑制在使用firefox驱动程序和selenium(python 3.x)下载文件时出现的“保存或打开”弹出窗口。许多涉及
profile.set\u preference
的不同值的建议对我来说都不管用。也许我错过了什么

尽管如此,我最终还是通过推荐的另一种方法实现了它:使用现有的firefox配置文件

您可以将默认(或自定义)配置文件调整为所需的文件保存行为。在firefox地址栏中键入以下内容并在此处进行更改:

about:preferences#applications
然后,将文件下载到当前工作目录所需的唯一设置是:

from selenium import webdriver
fp = webdriver.FirefoxProfile(<your firefox profile directory>)
fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.dir", os.getcwd())
driver = webdriver.Firefox(firefox_profile=fp)
从selenium导入webdriver
fp=webdriver.FirefoxProfile()
fp.set_首选项(“browser.download.folderList”,2)
fp.set_首选项(“browser.download.dir”,os.getcwd())
driver=webdriver.Firefox(Firefox\u profile=fp)
如果您有一个典型的ubuntu设置,您可以通过查看~/.mozilla/firefox/profile.ini找到默认的firefox配置文件目录


在该.ini文件中,在[Profile0]下查找路径。

抱歉的可能重复项,但我没有准确获取“()”部分。引号或[profile0]中的目录地址应该是什么?就我而言,我看不到[Profile0]@sangarsh:你能在这里打印你的profiles.ini文件吗?当然可以。给我点时间