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可以进行参数设置

  • 相关阅读:
    一个很简单的脑筋急转弯问题
    DataGrid PCV排序学习
    VS2010 出现打开关联文档错误的解决方案
    JS 简繁体互转代码
    js 常用正则表达式表单验证代码
    【转】自然语言处理(NLP)网上资源整理
    声卡编程讲解
    视频会议1
    转 语音处理资源
    编译WebRTC
  • 原文地址:https://www.cnblogs.com/milesma/p/12333308.html
Copyright © 2011-2022 走看看