有没有什么API可以让我在Firefox中操作文件下载对话框?(我想访问用户执行某些操作时出现的消息,而不是我自己发起的消息)。
我想要做的是从Selenium访问这个对话框( Selenium的“特权模式”是否足以访问chrome界面也是我不确定的事情)。
发布于 2009-07-24 08:22:27
就我所知没有。但是你可以在一个特定的地方将火狐配置为automatically start the download and save the file。然后,您的测试可以检查文件是否已实际到达。
发布于 2012-02-17 21:22:46
对于这个问题,我有一个解决方案,请检查代码:
FirefoxProfile firefoxProfile = new FirefoxProfile();
firefoxProfile.setPreference("browser.download.folderList",2);
firefoxProfile.setPreference("browser.download.manager.showWhenStarting",false);
firefoxProfile.setPreference("browser.download.dir","c:\\downloads");
firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk","text/csv");
WebDriver driver = new FirefoxDriver(firefoxProfile);//new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);
driver.navigate().to("http://www.myfile.com/hey.csv");
发布于 2011-11-03 00:03:25
我遇到了同样的问题,但我找到了解决方案。我用和这个blog一样的方法做了。
当然这是Java,我已经把它翻译成了Python:
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.download.dir",getcwd())
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/csv")
browser = webdriver.Firefox(firefox_profile=fp)
在我的示例中,它是一个CSV文件。但当您需要更多时,有存储在~/.mozilla/$USER_PROFILE/mimeTypes.rdf
中
https://stackoverflow.com/questions/1176348
复制相似问题