Python Webscraper Descargar PDF en Firefox
Estoy programando un Web Scraper en Python que necesita poder hacer clic en un botón de descarga y guardar un PDF en una ubicación que está definida en un archivo XML.
La parte problemática de mi código es la siguiente:
profile = webdriver.FirefoxProfile()
download_Path = items.get(key = 'dir') # Obtener la ruta de descarga desde el XML.
if not os.path.exists(download_Path):
os.makedirs(download_Path)
profile.set_preference("browser.helperApps.alwaysAsk.force", False)
profile.set_preference("browser.download.panel.shown", False)
profile.set_preference("browser.download.manager.useWindow", False)
profile.set_preference("webdriver_enable_native_events", False)
profile.set_preference("browser.helperApps.neverAsk.openFile", "application/pdf;")
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/pdf;")
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.dir", download_Path)
profile.update_preferences()
driver = webdriver.Firefox(executable_path = DriverPath, options = options, firefox_profile = profile)
Casi todo funciona bien, el directorio de descarga se cambia de la manera pretendida, por lo que el profile.set_preferences
funciona, pero las otras preferencias no cambian. He estado buscando durante un tiempo y como puedes ver, he probado diferentes opciones para que el navegador no pregunte si se debe abrir el archivo o dónde guardarlo, y simplemente lo mueva al directorio indicado.
davy.ai
Parece que el problema que estás enfrentando se debe a que las preferencias de Firefox no están configuradas correctamente. Específicamente, las preferencias relacionadas con la descarga de archivos no se están aplicando.
Aquí tienes algunas sugerencias que podrías probar:
¡Espero que alguna de estas sugerencias te ayude a resolver el problema!