如何在 Python 中使用 Selenium Webdriver 自动下载一个 PDF?


我们可以在 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 instance
op = Options()
#configure path of downloaded pdf file
p = {"download.default_directory": "../pdf"}
op.add_experimental_option("prefs", p)
#send browser option to webdriver object
driver = webdriver.Chrome(executable_path='../drivers/chromedriver', options=op)
#implicit wait
driver.implicitly_wait(0.8)
#url launch
driver.get("http://demo.automationtesting.in/FileDownload.html")
#browser maximize
driver.maximize_window()
#identify element
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 close
driver.close()

更新时间:18-11-2021

2K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

入门
广告