如何使用 Selenium Python 下载所有 PDF 文件?
seleniumautomation testingtesting tools更新于 2026/2/16 17:07:17
答案 − 我们可以使用 Python 中的 Selenium WebDriver 下载所有 PDF 文件。文件会下载到 Chrome 浏览器设置的默认路径中。但是,我们可以在 Selenium 中以编程方式修改下载文件的路径。
这需要借助 Options 类来完成。我们需要创建该类的一个对象并应用 add_experimental_option 方法。我们需要将参数 prefs 和 PDF 的下载路径传递给此方法。最后,必须将此信息发送给 webdriver 对象。
语法
op = Options()
p = {"download.default_directory": "../pdf"}
op.add_experimental_option("prefs", p)
示例
代码实现
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
#Options 实例
op = Options()
#配置下载的 pdf 文件的路径
p = {"download.default_directory": "../pdf"}
op.add_experimental_option("prefs", p)
#将浏览器选项发送给 webdriver对象
driver = webdriver.Chrome(executable_path='../drivers/chromedriver',
options=op)
#隐式等待
driver.implicitly_wait(0.8)
#url 启动
driver.get("http://demo.automationtesting.in/FileDownload.html")
#浏览器最大化
driver.maximize_window()
#识别元素
m = driver.find_element_by_id('pdfbox')
m.send_keys("infotest')
t = driver.find_element_by_id('createPdf')
t.click()
e = driver.find_element_by_id('pdf-link-to-download')
e.click()
#driver 关闭
driver.close()

