Невозможно передать параметр FirefoxProfile В веб-драйвере использовать настройки для загрузки файла
public class download {
public static WebDriver driver;
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.gecko.driver", "/home/ranjith/Downloads/geckodriver");
//driver = new FirefoxDriver();
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 );
driver = new FirefoxDriver(profile);
driver.get("http://toolsqa.com/automation-practice-form/");
driver.findElement(By.linkText("Test File to Download")).click();
Thread.sleep(5000);
//driver.close();
}
}
попросив удалить профиль аргумента для соответствия FirefoxDriver в eclipse, вы можете помочь решить эту проблему.
В этой строке выдается ошибка
driver = new FirefoxDriver(profile);
1 ответ
Решение
Если вы посмотрите на текущий Selenium JavaDoc
из FirefoxDriver
Учебный класс, FirefoxDriver(profile);
метод больше не поддерживается как действительный Constructor
,
Вместо этого рекомендуется использовать FirefoxOptions
Класс который расширяется MutableCapabilities
т.е. org.openqa.selenium.MutableCapabilities
Так как вы создаете новый FirefoxProfile
на каждом исполнении через driver = new FirefoxDriver(profile);
, вы должны использовать setProfile
метод из FirefoxOptions
Класс, который определяется как:
public FirefoxOptions setProfile(FirefoxProfile profile)
Ваш блок кода будет:
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);