一尘不染

如何使用Selenium在点击事件中下载文件?

selenium

我正在研究python和selenium。我想使用selenium从单击事件中下载文件。我写了下面的代码。

from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys

browser = webdriver.Firefox()
browser.get("http://www.drugcite.com/?q=ACTIMMUNE")

browser.close()

我想从给定的URL从名称为“导出数据”的链接下载两个文件。我如何实现它,因为它仅适用于click事件?


阅读 637

收藏
2020-06-26

共1个答案

一尘不染

使用查找链接find_element(s)_by_*,然后调用click方法。

from selenium import webdriver

# To prevent download dialog
profile = webdriver.FirefoxProfile()
profile.set_preference('browser.download.folderList', 2) # custom location
profile.set_preference('browser.download.manager.showWhenStarting', False)
profile.set_preference('browser.download.dir', '/tmp')
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'text/csv')

browser = webdriver.Firefox(profile)
browser.get("http://www.drugcite.com/?q=ACTIMMUNE")

browser.find_element_by_id('exportpt').click()
browser.find_element_by_id('exporthlgt').click()

添加了配置文件处理代码,以防止出现下载对话框。

2020-06-26