zoukankan      html  css  js  c++  java
  • WebDriver 上传下载文件---(虫师《selenium3自动化测试实战--基于Python语言笔记22》)

    1.上传文件

    (1)普通上传:将本地文件路径作为一个值放在input标签中,通过form表单将这个值提交给服务器

    # 定位上传按钮,添加本地文件
    driver.find_element_by_id("file").send_keys(file_path + "test.txt")  # file_path 文件目录

    需要导入import os

    (2)插件上传:一般指基于Falsh,JavaScript或Ajax等技术实现的上传功能,使用AutoIt实现

    2.下载文件

     (1)firefox浏览器下载文件

    browser.download.folderList

    0:默认下载路径

    2:下载到指定目录

    import os
    from selenium import webdriver
    
    fp = webdriver.FirefoxProfile()
    
    fp.set_preference("browser.downloadList", 2)  # 下载到指定目录
    fp.set_preference("browser.download.dir", os.getcwd())  # os.getcwd()获取当前文件的所在位置,即下载文件保存的目录
    fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "binary/octet-stream")  # 指定要下载的问你就类型,binary/octet-stream二进制类型
    
    driver = webdriver.Firefox(firefox_profile=fp) # 作为参数传给Firefox()
    driver.get("https://pypi.org/project/selenium/#files")
    driver.find_element_by_partial_link_text("selenium-3.141.0.tar.gz").click()

    (2)Chrome浏览器下载文件

    import os
    from selenium import webdriver
    
    options = webdriver.ChromeOptions()
    # 0禁止弹出下载窗口
    # download.default_directory设置下载路径
    prefs = {
        "profile.default_content_settings.popups": 0,
        "download.default_directory": os.getcwd()}
    options.add_experimental_option("prefs",prefs)
    
    driver = webdriver.Chrome(chrome_options=options)
    driver.get("https://pypi.org/project/selenium/#files")
    driver.find_element_by_partial_link_text("selenium-3.141.0.tar.gz").click()

     

  • 相关阅读:
    计算器程序
    输入三个整数,输出最大数和最小数
    输入三个数a,b,c,要示按由小到大的顺序输出
    最短路
    luogu P3953 逛公园
    二分图匹配
    luogu P3231 消毒
    [bzoj2120] [洛谷P1903] 数颜色
    [bzoj2038] [洛谷P1494] [2009国家集训队] 小Z的袜子(hose)
    [洛谷P4012] [网络流24题] 深海机器人问题
  • 原文地址:https://www.cnblogs.com/kite123/p/11511943.html
Copyright © 2011-2022 走看看