selenium无干预下载

selenium自带了无人工干预实现下载功能的模块,下载时不需要弹窗点击确定下载

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from selenium import webdriver
import time

class MacDownload():

def __init__(self):
"""初始化"""
# 创建一个FirefoxProfile实例,用于存放自定义配置
profile = webdriver.FirefoxProfile()
# 指定下载路径,默认自动创建一级目录
profile.set_preference('browser.download.dir', 'G:idownload')
# 将browser.download.folderLis设置为2,表示将文件下载到指定目录(0表示桌面,1表示默认路径)
profile.set_preference("browser.download.folderList", 2)
# browser.helperApps.alwaysAsk.force对于未知的MIME类型文件会弹出窗口
# 让用户处理,默认值为True,设定为False表示不会记录打开未知MIME类型文件的方式
profile.set_preference("browser.helperApps.alwaysAsk.force", False)
# 在开始下载时是否显示下载管理器
profile.set_preference("browser.download.manager.showWhenStarting", False)
大专栏  selenium无干预下载/> # 设定为False会把下载狂隐藏
profile.set_preference("browser.download.manager.useWindow", False)
# 默认为True,设定为False表示不获取焦点
profile.set_preference("browser.download.manager.focusWhenStarting", False)
# 下载.exe文件弹出警告,默认值为True,设定为False则不会弹出警告
profile.set_preference("browser.download.manager.alertOnEXEOpen", False)
# browser.helperApps.neverAsk.openFile表示直接打开下载文件,不显示确定框
# 默认值为空字符串,下行代码行设定了多种文件的MIME类型,
# 例如application/exe,表示 .exe类型的文件;application/excel表示excel类型的文件
profile.set_preference("browser.helperApps.neverAsk.openFile", "application/pdf")
# 对所给出文件类型不在弹出提示框进行询问,直接保存到本地磁盘
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/zip, application/octet-stream")
# browser.download.manager.showAlertOnComplete设定下载文件结束后是否显示下载完成提示框
# 默认为True,设定为False表示下载完成后不显示下载完成提示框
profile.set_preference("browser.download.manager.showAlertOnComplete", False)
# browser.download.manager.closeWhenDone设定下载结束后是都自动关闭下载框
# 默认为True,设定为False表示不关闭下载管理器
profile.set_preference("browser.download.manager.closeWhenDone", False)

# 启动浏览器,通过firfox_profile参数将自动配置添加到FirefoxProfile对象中sef.driver = webdriver.Firefox(firefox_profile=profile)
self.driver = webdriver.Firefox(firefox_profile=profile)

def test_dataPicker(self):
#访问WebDriver驱动firefox的驱动文件下载网址
# url1 = "https://github.com/mozilla/geckodriver/releases"
# self.driver.get(url1)
# #选择下载ZIP类型的文件,使用application/zip指代此类型文件
# self.driver.find_element_by_xpath('//strong[. = "geckodriver-v0.19.1-win32.zip"]').click()
# time.sleep(10)

#访问Python2.7.12文件下载页面,下载扩展名为msi的文件
#使用application/octet - stream来指明次文件类型
url = "https://www.python.org/downloads/release/python-2712/"
self.driver.get(url)
self.driver.find_element_by_link_text('Windows x86-64 MSI installer').click()
time.sleep(100)

self.driver.quit()

猜你喜欢

转载自www.cnblogs.com/sanxiandoupi/p/11692403.html