我正在研究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事件?
使用查找链接find_element(s)_by_*,然后调用click方法。
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()
添加了配置文件处理代码,以防止出现下载对话框。