zoukankan      html  css  js  c++  java
  • Python+selenium之下载文件

    一、Firefox文件下载

    Web容许我们设置默认的文件下载路劲,文件会自动下载并且存放在指定的目录下。

     1 from selenium import webdriver
     2 import os
     3 fp = webdriver.FirefoxProfile()
     4 fp.set_preference("browser.download.folderList",0)
     5 fp.set_preference("browser.download.manager.showhenStarting",True)
     6 fp.set_preference("browser.download.dir",os.getcwd())
     7 fp.set_preference("browser.helperApps.neverAsk.saveToDisk","applaction/octet-stream")#下载文件类型
     8 
     9 driver = webdriver.Firefox(firefox_profile = fp)
    10 driver.get("http://pypi.Python.org/pypi/selenium")
    11 driver.find_element_by_xpath("//*[@id='download-button']/a").click()
    12 
    13 driver.find_element_by_xpath("//*[@id='content']/div[3]/table/tbody/tr[3]/td[1]/span/a[1]").click()

    为了让Firefox浏览器能实现文件下载,需要通过FirefoxProfile()对其做一些设置。

    browser.download.foladerList :设置成0代表下载到浏览器默认下载路径,设置成2则可以保存到指定的目录。

    browser.download.manager.showWhenStarting  :是否显示开始:True为显示开始,Flase为不显示开始。

    browser.download.dir :用于指定所下载文件的目录。

    os.getcwd()函数不需要传递参数。用于返回当前的目录。

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

     1 from selenium import webdriver
     2 from time import sleep
     3 
     4 profile = webdriver.FirefoxProfile()
     5 profile.set_preference('browser.download.dir', 'd:\')  #现在文件存放的目录
     6 profile.set_preference('browser.download.folderList', 2)
     7 profile.set_preference('browser.download.manager.showWhenStarting', False)
     8 profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'application/zip')
     9 
    10 driver = webdriver.Firefox(firefox_profile=profile)
    11 
    12 driver.get('http://sahitest.com/demo/saveAs.htm')
    13 #driver.find_element_by_xpath('//a[text()="testsaveas.zip"]').click()
    14 driver.find_element_by_xpath('/html/body/a[1]').click()
    15 sleep(20)
    16 driver.quit()

    二、Chrome文件下载

    download.default_directory:设置下载路径

    profile.default_content_settings.popups:设置为0禁止弹出窗口

    from selenium import webdriver 

    from time import sleep
    options = webdriver.ChromeOptions()
    prefs = {'profile.default_content_settings.popups': 0, 'download.default_directory': 'd:\'}
    options.add_experimental_option('prefs', prefs)
    driver = webdriver.Chrome(executable_path='D:\chromedriver.exe', chrome_options=options)
    driver.get('http://sahitest.com/demo/saveAs.htm')
    driver.find_element_by_xpath('//a[text()="testsaveas.zip"]').click()
    sleep(3)
    driver.quit()
  • 相关阅读:
    python 的基础 学习 第六天 基础数据类型的操作方法 字典
    python 的基础 学习 第五天 基础数据类型的操作方法
    python 的基础 学习 第四天 基础数据类型
    ASP.NET MVC 入门8、ModelState与数据验证
    ASP.NET MVC 入门7、Hellper与数据的提交与绑定
    ASP.NET MVC 入门6、TempData
    ASP.NET MVC 入门5、View与ViewData
    ASP.NET MVC 入门4、Controller与Action
    ASP.NET MVC 入门3、Routing
    ASP.NET MVC 入门2、项目的目录结构与核心的DLL
  • 原文地址:https://www.cnblogs.com/fengyiru6369/p/7235663.html
Copyright © 2011-2022 走看看