我已经尝试了这个网站上发布的一些解决方案,但我仍然不能让这个东西工作。我必须从一个安全的网站抓取PDF。我可以一直转到有按钮创建PDF的页面,但是我找不到可以让我下载PDF的代码。这是我到目前为止所得到的,任何帮助都是非常感谢的!
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("https://service.medical.barco.com/server/jsp/login")
username = driver.find_element_by_name('j_username')
password = driver.find_element_by_name('j_password')
username.send_keys("XXX")
password.send_keys("XXX")
driver.find_element_by_css_selector('[value="Log on"]').click()
##makes the PDF and shows it in the Google PDF viewer
url = "https://service.medical.barco.com/server/spring/jsp/workstation/complianceCheckDetailReport/?displayId=932610524&date=1598328417477"
driver.get(url)
driver.find_element_by_class_name('href-button').click()
##This is probably unnecessary but I thought a direct link to the created PDF could give me a variable I could then download
pdf = "https://service.medical.barco.com/server/spring/jsp/workstation/complianceCheckDetailReport/jasper/report.pdf?format=pdf&displayId=932610524&date=1598328417477"
driver.get(pdf)发布于 2020-08-28 22:38:31
打开PDF后,Chromium/Google Chrome很可能会在其基于PDF.js的查看器中打开相同的文件。为了解决这个问题并“下载”PDF,尝试在创建Chrome()实例时传递一个具有以下配置文件属性的ChromeOptions()实例,如下所示:
profile = {
'download.prompt_for_download': False,
'download.default_directory': '/path/to/download/the/pdf',
'download.directory_upgrade': True,
'plugins.always_open_pdf_externally': True,
}
options = webdriver.ChromeOptions()
options.add_experimental_option('prefs', profile)
driver = webdriver.Chrome(options=options)顺便说一句,您可以随时使用requests模块。
https://stackoverflow.com/questions/63635678
复制相似问题