Selenium Python Chrome 阻止下载

问题描述 投票:0回答:1

我一直在尝试从以下网站下载 pdf 文件: http://www.cub.org.br/cub-m2-estadual/CE/

问题是,当我单击“Gerar Relatório em PDF”(英文“生成 PDF 报告”)时,Chrome 会向我发出一条消息,说下载被阻止,因为该文件不可信。我在 Selenium Python 中尝试了很多方法来绕过这个安全消息。然而,我仍然收到这个“错误”。

下面是我的代码:

` # 帕德拉奥意大利面 下载目录 = os.getcwd()

# Instância Chrome Options
chrome_options = Options()

# Configurando Chrome Para Permitir Dowload do PDF
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-plugins")
chrome_options.add_argument("--incognito")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--disable-popup-blocking")
chrome_options.add_argument("--ignore-certificate-errors")
chrome_options.add_argument("--allow-insecure-localhost")

# Pasta Download
prefs = {
    "download.default_directory": download_dir,
    "download.prompt_for_download": False,
    "plugins.always_open_pdf_externally": True,
    "download.open_pdf_in_system_reader": False,
    "profile.default_content_settings.popups": 0,
    "safebrowsing.enabled": True
}
chrome_options.add_experimental_option('prefs', prefs)

# Instância Chrome
driver = webdriver.Chrome(service=service,
                          options=chrome_options)
driver.maximize_window()
time.sleep(2)

# Acessando Site
driver.get('http://www.cub.org.br/cub-m2-estadual/CE/')
time.sleep(2)

# Verifica Anos Disponíveis
# Na Lista Suspensa
lista_suspensa = Select(driver.find_element(By.NAME, 'ano'))
opcoes_lista_suspensa = [item.text for item in lista_suspensa.options]

# Seleciona Primeiro Elemento da Lista
# Que é o Ano Mais Recente
lista_suspensa.select_by_value(opcoes_lista_suspensa[0])

# Clicando Baixar Relatório
download_file_xpath = '//*[@id="wrapper"]/div/div[1]/div/div[1]/div[2]/div/form/input[2]'
driver.find_element(By.XPATH, download_file_xpath).click()

`

python selenium-webdriver
1个回答
0
投票

我相信 ChromeDriver 的行为不久前已经发生了变化。以下是使其正常工作所需的选项/首选项:

chrome_options.add_argument("--unsafely-treat-insecure-origin-as-secure=http://www.cub.org.br")

prefs = {
    "download.default_directory": download_dir,
    "download.prompt_for_download": False,
    "download.directory_upgrade": True,
    "safebrowsing.enabled": True
}
© www.soinside.com 2019 - 2024. All rights reserved.