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

前端 未结 1 677
故里飘歌
故里飘歌 2020-12-22 13:29
public class download {
    public static WebDriver driver;

    public static void main(String[] args) throws InterruptedException {

        System.setProperty(\"w         


        
相关标签:
1条回答
  • 2020-12-22 14:02

    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);    
    
    0 讨论(0)
提交回复
热议问题