Не могу скачать PDF с использованием Selenium / Python 3.x, но это работает, когда я делаю это вручную - PullRequest
0 голосов
/ 18 октября 2018

Я прочитал тонну ответов на этот мой запрос, но не смог найти ничего конкретного.Отсюда и спрашиваю:

Вот сценарий. На веб-странице, когда я нажимаю кнопку загрузки, он корректно загружает файл PDF. В браузере я установил настройки Firefox, чтобы сохранить файл, а не открывать его в режиме предварительного просмотра..

Однако, когда я запускаю свой сценарий selenium / Python, загрузка продолжает открываться в режиме предварительного просмотра, на странице появляются другие загрузки PDF, и они работают нормально.После осмотра обеих кнопок загрузки, единственное отличие, которое я вижу, состоит в том, что у той, которая не загружается, есть относительный URL-адрес в значении href.

Я также использую следующие параметры опций firefox в моем скрипте, но безПомогите.Пожалуйста, ведите меня в правильном направлении.Заранее спасибо!

**************************

fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList", 2)
fp.set_preference("browser.download.manager.showWhenStarting", False)
fp.set_preference("browser.download.dir", 'Path to Save The file')
fp.set_preference("pdfjs.enabledCache.state", False)
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/pdf")
fp.set_preference("pdfjs.disabled", "true")

# disable Adobe Acrobat PDF preview plugin
fp.set_preference("plugin.scan.plid.all", "false")
fp.set_preference("plugin.scan.Acrobat", "99.0")
self.driver = webdriver.Firefox(firefox_profile=fp,executable_path="path to my geckodriver")
self.driver.get("url")

1 Ответ

0 голосов
/ 09 апреля 2019

У меня была такая же проблема - настройка отключения pdfjs работала только при ручном нажатии на странице about: config.Оказалось, что проблема, похоже, решилась (Firefox 60.6.1ESR):

profile.setPreference("pdfjs.disabled", true);
profile.setPreference("pdfjs.enabledCache.state", false); // <= THIS
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...