zoukankan      html  css  js  c++  java
  • selenium.webdriver 下载文件操作的配置

    Chrome

    from selenium import webdriver
    from time import sleep
    # from selenium.webdriver.support import expected_conditions as ec
    # from selenium.webdriver.support.wait import WebDriverWait
    # from selenium.webdriver.common.by import By
    import os
    
    # 配置下载路径
    options = webdriver.ChromeOptions()
    # 0表示禁止弹出下载窗口, 下载目录使用os.getcwd()设置当前目录作为保存位置
    prefs = {'profile.default_content_settings.popups': 0,
             'download.default_directory': os.getcwd()}
    options.add_experimental_option('prefs', prefs)
    
    with webdriver.Chrome(options=options) as driver:
    
        driver.get('https://www.onlinedown.net/soft/5.htm')
        driver.maximize_window()
        driver.implicitly_wait(10)
        # 滚动条到底,加载网页内容
        driver.execute_script('window.scrollTo(100, document.body.scrollHeight);')
        sleep(5)
        # 这里driver 点击元素操作有点问题 所以使用的JS做点击下载的操作
        ele = driver.find_element_by_link_text('通用网络下载')
        driver.execute_script('arguments[0].click();', ele)
        sleep(20)
    

    Firefox

    from selenium import webdriver
    from time import sleep
    import os
    
    fp = webdriver.FirefoxProfile()
    # 设置为0,表示下载到默认路径;设置为2,表示下载到指定路径
    fp.set_preference('browser.download.folderList', 2)
    # 设置下载的保存位置,使用os.getcwd()获取当前路径
    fp.set_preference('browser.download.dir', os.getcwd())
    # 设置下载时不提示是否要开始下载
    fp.set_preference('browser.download.manager.showWhenStarting', False)
    # 指定要下载的文件类型,可以去 HTTP Content-type对照表查询,这里指定的是.exe文件
    fp.set_preference('browser.helperApps.neverAsk.saveToDisk', 'application/octet-stream')
    
    with webdriver.Firefox(firefox_profile=fp) as driver:
    
        driver.get('https://www.onlinedown.net/soft/5.htm')
        driver.maximize_window()
        driver.implicitly_wait(10)
        # 滚动条到底,加载网页内容
        driver.execute_script('window.scrollTo(100, document.body.scrollHeight);')
        sleep(5)
        # 这里driver 点击元素操作有点问题 所以使用的JS做点击下载的操作
        ele = driver.find_element_by_link_text('通用网络下载')
        driver.execute_script('arguments[0].click();', ele)
        sleep(20)
    

    HTTP Content-type对照表查询

    Firefox在浏览器地址栏输入about:config可以进行参数设置

  • 相关阅读:
    爬虫
    PEP8 常用规范
    struts2入门Demo
    JDBC连接mysql数据库操作
    MongoDB学习笔记—03 增删改查操作
    MongoDB学习笔记—02 MongoDB入门
    MongoDB学习笔记-01 简介、安装
    ElasticSearch学习笔记-02集群相关操作_cat参数
    ElasticSearch学习笔记-01 简介、安装、配置与核心概念
    CSS学习
  • 原文地址:https://www.cnblogs.com/milesma/p/12333308.html
Copyright © 2011-2022 走看看