Selenium Webdriver:如何使用 Python 下载 PDF 文件?
- 2025-03-21 09:07:00
- admin 原创
- 59
问题描述:
我正在使用 selenium webdriver 自动下载多个 PDF 文件。我得到了 PDF 预览窗口(见下文),现在我想下载该文件。如何使用 Google Chrome 作为浏览器来实现这一点?
解决方案 1:
试试这个代码,它对我有用。
options = webdriver.ChromeOptions()
options.add_experimental_option('prefs', {
"download.default_directory": "C:/Users/XXXX/Desktop", #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
})
self.driver = webdriver.Chrome(options=options)
解决方案 2:
我做到了并且成功了,不要问我怎么做到的:)
options = webdriver.ChromeOptions()
options.add_experimental_option('prefs', {
#"download.default_directory": "C:/Users/517/Download", #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
})
driver = webdriver.Chrome(options=options)
解决方案 3:
我在 Stackoverflow 上的某个地方找到了这段代码,它满足了我的目的,而我根本不需要使用 selenium。
import urllib.request
response = urllib.request.urlopen(URL)
file = open("FILENAME.pdf", 'wb')
file.write(response.read())
file.close()
解决方案 4:
您可以使用 selenium 从网络下载 pdf(Embeded pdf
& )。Normal pdf
from selenium import webdriver
download_dir = "C:\\Users\\omprakashpk\\Documents" # for linux/*nix, download_dir="/usr/Public"
options = webdriver.ChromeOptions()
profile = {"plugins.plugins_list": [{"enabled": False, "name": "Chrome PDF Viewer"}], # Disable Chrome's PDF Viewer
"download.default_directory": download_dir , "download.extensions_to_open": "applications/pdf"}
options.add_experimental_option("prefs", profile)
driver = webdriver.Chrome('C:\\chromedriver\\chromedriver_2_32.exe', chrome_options=options) # Optional argument, if not specified will search path.
driver.get(`pdf_url`)
它将下载并保存 pdf 到指定目录中。更改download_dir
位置并chrome driver location
根据您的方便。
您可以从这里下载 chrome 驱动程序。
希望有帮助!
解决方案 5:
就我而言,它无需任何代码修改即可工作,只需禁用 Chrome pdf 查看器即可
以下是禁用它的步骤
进入 Chrome 设置
滚动到底部单击“高级”
在“隐私和安全”下 - 单击“站点设置”
滚动到 PDF 文档
启用“下载 PDF 文件而不是在 Chrome 中自动打开它们”
解决方案 6:
您可以使用 Python 的请求库下载 PDF 文件
import requests
pdf_url = driver.current_url # Get Current URL
response = requests.get(pdf_url)
file_name = 'filename.pdf'
with open(file_name, 'wb') as f:
f.write(response.content)
相关推荐
热门文章
项目管理软件有哪些?
热门标签
曾咪二维码
扫码咨询,免费领取项目管理大礼包!
云禅道AD