答案- 我们可以在 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 #选项实例 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) #网址启动 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.close()