browser.helperApps.neverAsk.saveToDisk存在Selenium问题



我想使用带有python的selenium从网站自动下载一个.ics文件(日历文件)。目标是禁用firefox在下载文件时打开的弹出窗口。为此,我使用以下代码:

#I set my preferences
profile = webdriver.FirefoxProfile()
profile.set_preference("browser.download.folderList", 2)#not using default folder for downloading
profile.set_preference("browser.download.manager.showWhenStarting", False)#dont show downloading process
profile.set_preference("browser.download.dir", 'C:/Users/UserName/Documents/rpi/some folder')#set the directory for download
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'text/calendar')#tell it to automaticaly download a file
#using the profile to access firefox
browser = webdriver.Firefox(executable_path='geckodriver',firefox_profile=profile)

我最初认为这是browser.helperApps.neverAsk.saveToDisk行中的MIME类型问题,但在更改MIME类型后,它仍然不起作用。从这里开始,我不知道出了什么问题,因为根据我能找到的所有互联网资源,我的MIME类型似乎是正确的。也许是设置问题,或者是我没有注意到的事情。。。不管怎样,谢谢你读到这篇文章,问我你是否需要更多的代码。

据我所知,你好,下载文件会提示一个警告框,询问你是否想下载,你试过了吗,

browser.switchtoalert.accept?

对不起,我用VBA写,但你应该明白,

感谢

所以我确实通过避免这个问题找到了解决方案:我创建了一个新的firefox配置文件>使用该配置文件启动firefox(所有这些都在about:profiles中完成)>去了我想下载文件的网站>下载该文件并检查";总是用这种类型的文件";框>使用以下行启动带有此自定义配置文件的程序:

profile= webdriver.FirefoxProfile("C:/Users/user/AppData/Roaming/Mozilla/Firefox/Profiles/bqpa3bzv.nameofprofile")

这似乎很有效,可能是一种有效的方法。

做得好,我知道.切换到警报接受在彩色打印机中工作

如果你想在方面得到任何帮助,请告诉我

相关内容

最新更新