How to download files at any particular location using java(browseroptions)
Required libraries:
import java.io.File;
import java.io.FileReader;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.edge.EdgeOptions;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.io.FileHandler;
import org.openqa.selenium.support.events.EventFiringWebDriver;
For Chrome:
System.setProperty("webdriver.chrome.driver", filepath.concat("chromedriver" + fileExtension));
ChromeOptions option1 = new ChromeOptions();
Map<String, Object> pref = new HashMap<>();
pref.put("download.default_directory", "YOUR_DOWNLOAD_PATH");
pref.put("download.prompt_for_download", false);
pref.put("profile.default_content_settings.popups", 0);
option1.setExperimentalOption("prefs", pref);
driver1 = new ChromeDriver();
driver = new EventFiringWebDriver(driver1);
eventListener = new WebEventListener();
driver.register(eventListener);
driver.manage().window().maximize();
break;
For Incognito:
System.setProperty("webdriver.chrome.driver", filepath.concat("chromedriver" + fileExtension));
ChromeOptions option2 = new ChromeOptions();
String downloadFilepath = "YOUR_DOWNLOAD_FILEPATH";
Map<String, Object> prefs1 = new HashMap<>();
prefs1.put("download.default_directory", downloadFilepath);
prefs1.put("download.prompt_for_download", false);
prefs1.put("profile.default_content_settings.popups", 0);
option2.addArguments("--incognito");
option2.setExperimentalOption("prefs", prefs1);
driver1 = new ChromeDriver(option2);
driver = new EventFiringWebDriver(driver1);
eventListener = new WebEventListener();
driver.register(eventListener);
driver.manage().window().maximize();
break;
For EDGE:
System.setProperty("webdriver.edge.driver", filepath.concat("msedgedriver" + fileExtension));
String userDataDir = System.getenv("LOCALAPPDATA") + "\\Microsoft\\Edge\\User Data";
EdgeOptions edgeOptions = new EdgeOptions();
downloadFilepath = "YOUR_DOWNLOAD_FILEPATH";
Map<String, Object> prefs2 = new HashMap<>();
prefs2.put("download.default_directory", downloadFilepath);
prefs2.put("download.prompt_for_download", false);
edgeOptions.setCapability("prefs", prefs2);
driver1 = new EdgeDriver(edgeOptions);
driver = new EventFiringWebDriver(driver1);
driver.manage().window().maximize();
eventListener = new WebEventListener();
driver.register(eventListener);
break;
Comments
Post a Comment