如何解决使用Selenium / Python下载嵌入式PDF?
我已经尝试过在此站点上发布的一些解决方案,但仍然无法使该功能正常工作。我必须从安全的网站上获取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)
解决方法
一旦获得PDF,Chromium / Google Chrome很有可能会在其基于PDF.js的查看器中打开相同的文件。为了解决此问题并“下载” PDF,请尝试在创建ChromeOptions()
实例时传递具有以下配置文件属性的Chrome()
实例,如下所示:
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
模块。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。