Trying to download pdf files using selenium java. I also tried enabling the content settings of the browser but whenever the selenium script opens the browser (chrome/Mozilla), it opens with the default setting i.e. "Download PDF files instead of automatically opening them in Chrome" as disabled while my actual browser setting is enabled. Is there a way to set WebDriver capabilities(which opens as a result of selenium script execution) for the same?
Another way, I tried to form an input stream to my pdf's URL, but it is a blob URL which looks something like "blob:https://www.sitename.com/9d1f0664-9e64-4deb-bae2-1d3ac6fbed4c". So it gives me an exception of java.net.malformedurlexception unknown protocol blob
I am unable to figure out the correct way to obtain my goal of downloading pdf with a java selenium script.
It is a known issue in Chrome https://support.google.com/chrome/answer/6213030?hl=en. if it would work, you could manage the automatically open the PDF file on this page
chrome://settings/content/pdfDocuments
It is also possible to toggle the button there via Selenium, but a little bit tricky. I'll post the working code, which toggles:
driver.get("chrome://settings/content/pdfDocuments");
new WebDriverWait(driver, 10).until(ExpectedConditions.numberOfElementsToBeMoreThan(By.cssSelector("body/deep/#control"), 10));
driver.findElements(By.cssSelector("body/deep/#control")).get(10).click();
Thread.sleep(2000); // only to see the result
driver.get("https://www.anotherPage.com/");