Disable the built-in pdfjs plugin and go to the URL - the PDF file will be downloaded automatically, code:
from selenium import webdriver fp = webdriver.FirefoxProfile() fp.set_preference("browser.download.folderList", 2) fp.set_preference("browser.download.manager.showWhenStarting",False) fp.set_preference("browser.download.dir", "/home/jill/Downloads/Dinamalar") fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/pdf,application/x-pdf") fp.set_preference("pdfjs.disabled", "true")
Update (full code that worked for me):
from selenium import webdriver mime_types = "application/pdf,application/vnd.adobe.xfdf,application/vnd.fdf,application/vnd.adobe.xdp+xml" fp = webdriver.FirefoxProfile() fp.set_preference("browser.download.folderList", 2) fp.set_preference("browser.download.manager.showWhenStarting", False) fp.set_preference("browser.download.dir", "/home/aafanasiev/Downloads") fp.set_preference("browser.helperApps.neverAsk.saveToDisk", mime_types) fp.set_preference("plugin.disable_full_page_plugin_for_types", mime_types) fp.set_preference("pdfjs.disabled", True) browser = webdriver.Firefox(firefox_profile=fp) browser.get("http://epaper.dinamalar.com/") webobj_get_link = browser.find_element_by_id("liSavePdf") webobj_get_object = webobj_get_link.find_element_by_tag_name("a") webobj_get_object.click()
source share