我正在使用Selenium自动化下载文件的测试用例。 在Firefox中,当我点击链接下载文件时,我会看到一个保存或打开文件的对话框。我去了Firefox并在地址栏中键入了:config并使用mimetype更新了browser.helperapps.neverask.savetodisk。当我手动点击链接下载文件时,它会自动下载而不会出现对话框。当我使用Selenium自动化它时,会出现对话框。任何人都可以建议在Firefox中自动执行此操作而无需在代码中创建配置文件。我不介意更改浏览器设置。在Firefox中如何更新Selenium使用的配置文件?
答案 0 :(得分:0)
在Selenium WebDriver中启动firefox时,会启动新的匿名配置文件,您可以通过创建新配置文件并更新首选项或使用现有配置文件来修改它
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.download.manager.showWhenStarting", false);
profile.setPreference("browser.download.dir", **enter your download path**);
profile.setPreference("browser.helperApps.neverAsk.openFile",
"text/csv, application/pdf, application/x-msexcel,application/excel,application/x-excel,application/excel,application/x-excel,application/excel,application/vnd.ms-excel,application/x-excel,application/x-msexcel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml,application/excel");
profile.setPreference("browser.helperApps.neverAsk.saveToDisk",
"text/csv, application/pdf, application/x-msexcel,application/excel,application/x-excel,application/excel,application/x-excel,application/excel, application/vnd.ms- excel,application/x-excel,application/x-msexcel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml,application/excel,text/x-c");
Webdriver driver = new FirefoxDriver(profile);
如果你不想在代码中创建一个firefox配置文件,那么手动创建一个带有上述设置的firefox配置文件,并使用下面的代码
ProfilesIni all_profiles = new ProfilesIni();
FirefoxProfile profile = all_profiles.getProfile("created profile");
WebDriver driver = new FirefoxDriver(profile);
希望这可以帮助你......