文件下载

作者: 酷飒de小姐姐 | 来源:发表于2021-06-24 18:24 被阅读0次

    ·如果上传按钮是input标签,只要定位上传按钮,可优先尝试调用send_keys()方法输入文件路径;

    ·如果需要打开系统窗口,即Window窗口添加本地文件,则可尝试借助AutoIt实现。

    文件下载

    1.Firefox浏览器

    首先通过Firefox浏览器实现文件下载。

    对于Firefox,在下载之前需要设置其Profile,具体如下。

    ·browser.download.dir:指定下载路径;

    ·browser.download.folderList:设置成0表示下载到桌面;设置成1表示下载到默认路径;设置成2表示自定义下载路径;

    ·browser.download.manager.showWhenStarting:在开始下载时是否显示下载管理器;

    ·browser.helperApps.neverAsk.saveToDisk:对所给出的文件类型不再弹出询问框进行询问。

    Firefox需要针对每种文件类型进行设置,这里需要查询对应文件的MIME类型,由于下载的是Python的最新版本,下载的文件类型为exe,因此类型为application/octet- stream。

    通过Firefox浏览器实现下载文件的代码如下:

    from selenium import webdriver

    import time

    profile = webdriver.FirefoxProfile()

    # 设置成 2 表示自定义下载路径;设置成 0 表示下载到桌面;设置成 1 表示下载到默认路径

    profile.set_preference("browser.download.folderList", 2)

    # 在开始下载时是否显示下载管理器

    profile.set_preference("browser.download.manager.showWhenStarting", False)

    # 设置默认的保存文件夹

    profile.set_preference("browser.download.dir", r"D:\Demo") 

    # 设置自动保存的文件类型,如果Firefox不能自动保存,一定是文件类型不对# 对所给出的文件类型不再弹出询问框进行询问

    profile.set_preference("browser.helperApps.neverAsk.saveToDisk", 'application/octet-stream')

    driver = webdriver.Firefox(Firefox_profile=profile)

    driver.implicitly_wait(10)

    # 访问Python下载页,下载最新版本的Python

    driver.get('https://www.python.org/downloads/')

    driver.maximize_window()

    time.sleep(2)

    # 单击Download the latest version for Windows按钮

    driver.find_element_by_xpath('//*[@id="touchnav-wrapper"]/header/div/div[2]/div/div[3]/p/a').click()

    2.Chrome浏览器

    通过Chrome浏览器实现文件下载时也需要做些设置,Options设置如下。

    ·download.default_directory:设置下载路径;

    ·profile.default_content_settings.popups:设置为0表示禁止弹出窗口。

    通过Chrome浏览器实现下载文件的代码如下:

    from seleniumimport webdriver

    import time

    options = webdriver.ChromeOptions()

    prefs = {

    "download.prompt_for_download":False,

        'download.default_directory':'D:\\Demo',#设置下载路径

        "plugins.always_open_pdf_externally":True,

        'profile.default_content_settings.popups':0,#设置为0,表示禁止弹出窗口

    }

    options.add_experimental_option('prefs',prefs)

    driver=webdriver.Chrome(chrome_options=options)

    driver.get('https://www.python.org/downloads/')

    driver.maximize_window()

    time.sleep(20)

    #点击下载python按钮

    driver.find_element_by_xpath('//*[@id="touchnav-wrapper"]/header/div/div[2]/div/div[3]/p/a').click()

    相关文章

      网友评论

        本文标题:文件下载

        本文链接:https://www.haomeiwen.com/subject/wcpheltx.html