unable to Pass FirefoxProfile parameter In webdriver to use preferences to download file

落花浮王杯 提交于 2019-11-29 18:16:58

As per the Selenium JavaDoc of FirefoxDriver Class, FirefoxDriver(profile) method is no more supported as a valid Constructor.

Instead it is being encouraged to use the FirefoxOptions Class which extends MutableCapabilities i.e. org.openqa.selenium.MutableCapabilities

So as you are creating a new FirefoxProfile on each execution through driver = new FirefoxDriver(profile);, you have to use the setProfile() method from the FirefoxOptions Class which is defined as :

public FirefoxOptions setProfile(FirefoxProfile profile)

Your code block will be :

System.setProperty("webdriver.gecko.driver", "/home/ranjith/Downloads/geckodriver");
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("browser.download.dir", "/home/ranjith/Downloads");
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");        
profile.setPreference( "browser.download.manager.showWhenStarting", false );
profile.setPreference( "pdfjs.disabled", true );
FirefoxOptions opt = new FirefoxOptions();
opt.setProfile(profile);
driver = new FirefoxDriver(opt);    
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!