Как включить небезопасный контент для автоматизации загрузки PDF-файлов с помощью selenium для python?

#selenium #selenium-webdriver #selenium-chromedriver

Вопрос:

Я хотел включить автоматическую загрузку PDF-файлов с помощью selenium для python. Однако, хотя я включил автоматическую загрузку PDF-файлов, сами PDF-файлы на самом деле не загружаются. Причина этого в том, что мне нужно разрешить небезопасный контент с URL-адреса. Поскольку этого не происходит, автоматическая загрузка не происходит, и есть только серый экран. Я просмотрел некоторые сообщения и добавил некоторые опции для включения небезопасного контента, но это не работает.

Вот мой код:

 from selenium import webdriver 
from selenium.webdriver.chrome.options import Options
import time


chromeOptions = webdriver.ChromeOptions()

chromeOptions.add_experimental_option('prefs', {
"download.default_directory": "/Users/xxxx/DownloadedPDFs", #Change default directory for downloads
"download.prompt_for_download": False, #To auto download the file
"download.directory_upgrade": True,
"plugins.always_open_pdf_externally": True, #It will not show PDF directly in chrome
"safebrowsing_for_trusted_sources_enabled": False,
"safebrowsing.enabled": False
})

chromeOptions.add_argument("--disable-web-security")
chromeOptions.add_argument("--allow-running-insecure-content")
chromeOptions.add_argument("--ignore-ssl-errors=yes")
chromeOptions.add_argument("--ignore-certificate-errors")
chromeOptions.add_argument("--allow-insecure-localhost")

driver = webdriver.Chrome(options=chromeOptions)



driver.get("url") 
# there is an actual url here, I just put URL as a placeholder 

time.sleep(10)

elements = driver.find_elements_by_class_name("annualreports_link")
for element in elements: 
    element.click()
 

Что я знаю, так это то, что PDF-файлы правильно загружаются в отдельную папку, если URL-адрес добавляется к небезопасному контенту, и настройки для этого можно найти здесь при нажатии на «Небезопасный контент» в настройках сайта:

Url — адрес должен быть добавлен для отображения небезопасного контента

Комментарии:

1. У меня дважды была эта проблема с cUrl на сервере Ubuntu. Первым делом я решил загрузить сертификат и добавить его в список доверенных сертификатов моего сервера. У второго был самозаверяющий сертификат, и мне не удалось заставить его работать, но потом я понял, что веб-сайт принимает подключения по адресу por 80, поэтому я просто перешел на http вместо https.