本篇文章介绍selenium中火狐浏览器如何下载文件。比如我想把这个MP4的视频文件下载下来。
点击之后查看下载的类型是video/mp4
指定使用火狐浏览器
profile = webdriver.FirefoxOptions()
# 设置firefox默认的下载路径,0表示桌面,1表示我的下载,2表示自定义文件夹
profile.set_preference('browser.download.folderList', 2)
# 指定一个具体的下载目录
profile.set_preference('browser.download.dir','D:\\test_download')
# 开始下载时,不显示下载管理器
profile.set_preference('browser.download.manager.showWhenStarting', False)
# 设置允许的自动下载文件的类型 video/mp4
profile.set_preference('browser.helperApps.neverAsk.saveToDisk','video/mp4')
driver = webdriver.Firefox(options=profile)driver.implicitly_wait(10)driver.maximize_window()LoginPage2(driver).login()driver.find_element(By.LINK_TEXT,"推荐").click()driver.find_element(By.CSS_SELECTOR,'[title="有爱小猴子.mp4"]').click()driver.find_element(By.XPATH,'//span[text()="下载"]').click()driver.find_element(By.CSS_SELECTOR,'.popup-main li').click()
其中,用xpath span定位下载元素
driver.find_element(By.XPATH,'//span[text()="下载"]').click()
采用css_selector的方式,定位class = "popup-main" 下的第一个li标签
driver.find_element(By.CSS_SELECTOR,'.popup-main li').click()