Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 禁用firefox另存为对话框_Python_Firefox_Selenium - Fatal编程技术网

Python 禁用firefox另存为对话框

Python 禁用firefox另存为对话框,python,firefox,selenium,Python,Firefox,Selenium,我正在使用selenium进行网络抓取,每当我尝试下载文件时,firefox下载/另存为文件会弹出,但是,即使我应用了profile.set\u preference('browser.helperApps.neverAsk.saveToDisk',“application/csv”),它仍然不起作用,我尝试了与.csv相关的所有MIME,但都不起作用,可以单击另存为单选按钮,然后单击对话框上的确定,也可以完全禁用它 您应该做两件事,首先按如下方式设置这三个首选项(这是Java中的首选项,但我想

我正在使用selenium进行网络抓取,每当我尝试下载文件时,firefox下载/另存为文件会弹出,但是,即使我应用了
profile.set\u preference('browser.helperApps.neverAsk.saveToDisk',“application/csv”)
,它仍然不起作用,我尝试了与.csv相关的所有MIME,但都不起作用,可以单击
另存为
单选按钮,然后单击对话框上的
确定
,也可以完全禁用它

您应该做两件事,首先按如下方式设置这三个首选项(这是Java中的首选项,但我想您可以将其转换为python:-):

其次,您应该确保下载文件具有所需的mime类型。要做到这一点,您可以使用web开发人员工具并检查下载

编辑:

要查找MIME类型open Chrome,请按Ctrl+Shift+I(Mac OS上的Cmd+Alt+I)切换到“网络”选项卡并单击下载链接。您应该看到如下内容:


只是一个可能对某人有所帮助的补充答案,因为对已接受答案的评论让我走上了正确的轨道(谢谢!)你可能要处理的CSV的另一种MIME类型是-这是我的情况,一旦我在浏览器的“网络”选项卡中查找它,我就变得更快乐了:)

在C中#


您是否也将
browser=webdriver.Firefox(Firefox\u profile=profile)
设置为?您编辑的是系统Firefox配置文件吗?根据您的selenium版本,它可能会使用独立于您的系统的自己的配置文件。您可能想考虑为此创建一个自定义配置文件,并通过使用Link命令启动硒时使用-FixFixPrimeLeTimePoad标志指定配置文件的路径,我已经尝试过了。我已经尝试过了,当我手动下载它时,它表示它是一个微软Excel的逗号分隔值,但是,MIME类型不会显示在浏览器选项应用程序中。这是javascript超链接
href=“javascript:download \'u as('CSV');
是否有一种方法可以在selenium中下载所有内容?@user1582983我添加了一个关于如何查找mime类型的说明。这不起作用,它是javascript,并且不显示文件所在的位置。我认为它是“application/vnd.CSV”“,但你是对的,因为它会在一个新的选项卡中打开,所以很难找到它。以前从未见过这种MIME类型,也许它不是标准的,最好改一改..?对我来说不起作用,但事实上,在问题被问到4年后,你共享了一个对你有效的解决方案,这在我看来是值得称赞的。
profile.setPreference("browser.download.dir", "c:/yourDownloadDir");
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/csv, text/csv");
FirefoxOptions options = new FirefoxOptions();
options.SetPreference("browser.download.folderList", 2);
options.SetPreference("browser.download.manager.showWhenStarting", false);
options.SetPreference("browser.download.dir", "c:\\temp");
options.SetPreference("browser.helperApps.neverAsk.saveToDisk", "text/csv");