zoukankan      html  css  js  c++  java
  • selenium实现自动下载文件

    #coding:utf-8
    '''
    说明:导出
    '''

    from selenium import webdriver
    from public.highlightElement import highlight
    from ReportManage.DefReportExport import export
    import time,os,shutil

    dict={"report1":"导出1","report2":"导出2","report3":"导出3"}
    #导出函数
    def export(browser):
      依次下载report1,report2,report3
    for key, value in dict.items():
    linktext = value
    print(linktext)
    browser.find_element_by_link_text(linktext).click()
    # 点击导出按钮
    export = browser.find_element_by_xpath(".//*[@id='dlink']/following-sibling::button")
    highlight(export)
    export.click()

    time.sleep(3)

    #以下是如何用selenium实现下载
    #在firefox中设置相关的下载参数,当模拟点击时,webdriver会自动保存对应的文档
    fp=webdriver.FirefoxProfile()
    #2表示自定义的文件夹,0表示保存到浏览器默认的文件夹
    fp.set_preference("browser.download.folderList",2)
    #是否显示开始
    fp.set_preference("browser.download.manager.showWhenStarting",False)
    #设置默认的保存文件夹
    file_path=os.getcwd()+"\report\"
    fp.set_preference("browser.download.dir",file_path)
    #设置自动保存的文件类型
    fp.set_preference("browser.helperApps.neverAsk.saveToDisk",
    "application/vnd.ms-excel")


    browser=webdriver.Firefox(firefox_profile=fp)
    browser.get("http://12345678"
    )
    export(browser)
    time.sleep(
    3)

    #删除report文件夹
    shutil.rmtree(file_path)
    browser.quit()
  • 相关阅读:
    内核随记(三)同步(1)
    排列算法
    SQLite入门与分析(八)存储模型(3)
    内核随记(一)——理解中断(2)
    dup与dup2系统调用
    内核随记(四)文件系统(1)
    SQLite入门与分析(八)存储模型(2)
    SQLite入门与分析(九)VACUUM命令分析
    c中static变量局部变量
    (i++)+(i++)与(++i)+(++i)
  • 原文地址:https://www.cnblogs.com/quxikun/p/7458489.html
Copyright © 2011-2022 走看看