selenium.webdriver_python electron

selenium.webdriver_python electronhttp://blog.csdn.net/huilan_same/article/details/52789954今天谈谈文件下载吧,很多人不会处理弹出的文件下载框,其实跟上传类似,可以用autoit和win32api解决,方法类似,可以看博主之前的文章 Pythonselenium——文件上传所有方法整理总结 ,今天这里博主主要想讲讲更漂亮的一种处理办法,那就是指定

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

http://blog.csdn.net/huilan_same/article/details/52789954

Content-Type ,内容类型,一般是指网页中存在的Content-Type ,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件。

另一种方法是使用requests 模块来查找内容类型。Requests 是一个Python 的HTTP 客户端库,默认下载的python 环境包不包含这个类库,需要另外安装。使用方法如下:

#coding:utf-8import requestsprint requests.head('http://www.python.org').headers['content-type']

一旦确定了内容的类型,就可以用它来设置Firefox 的默认配置文件,具体实例如下:

#coding=utf-8
import os
from selenium import webdriver

fp = webdriver.FirefoxProfile()

fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.download.dir", os.getcwd())
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/octet-stream")

browser = webdriver.Firefox(firefox_profile=fp)
browser.get("http://pypi.python.org/pypi/selenium")
browser.find_element_by_partial_link_text("selenium-2").click()

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

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

application/octet-stream      为内容的类型。

今天谈谈文件下载吧,很多人不会处理弹出的文件下载框,其实跟上传类似,可以用autoit和win32api解决,方法类似,可以看博主之前的文章 Python selenium —— 文件上传所有方法整理总结 ,今天这里博主主要想讲讲更漂亮的一种处理办法,那就是指定下载路径,不弹出弹框,直接下载到指定路径。

今天主要分享Firefox和Chrome的设置方法。

Firefox 文件下载

对于Firefox,需要我们设置其Profile:

  • browser.download.dir:指定下载路径
  • browser.download.folderList:设置成 2 表示使用自定义下载路径;设置成 0 表示下载到桌面;设置成 1 表示下载到默认路径
  • browser.download.manager.showWhenStarting:在开始下载时是否显示下载管理器
  • browser.helperApps.neverAsk.saveToDisk:对所给出文件类型不再弹出框进行询问

下面来个示例:

# -*- coding: utf-8 -*-

from selenium import webdriver
from time import sleep

profile = webdriver.FirefoxProfile()
profile.set_preference('browser.download.dir', 'd:\\')
profile.set_preference('browser.download.folderList', 2)
profile.set_preference('browser.download.manager.showWhenStarting', False)
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'application/zip')

driver = webdriver.Firefox(firefox_profile=profile)

driver.get('http://sahitest.com/demo/saveAs.htm')
driver.find_element_by_xpath('//a[text()="testsaveas.zip"]').click()
sleep(3)
driver.quit()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

Firefox需要针对每种文件类型进行设置,这里需要我们查询对应文件的MIME类型,可以用以下链接进行查询:MIME 参考手册

Chrome 文件下载

Chrome浏览器类似,设置其options:

  • download.default_directory:设置下载路径
  • profile.default_content_settings.popups:设置为 0 禁止弹出窗口

它的设置就简单多了,看个示例:

# -*- coding: utf-8 -*-

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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

看,文件下载也很简单吧。

如果觉得本文的文章写得很好,打个赏,多少都行~~~

selenium.webdriver_python electron

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193041.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CausalDiscoveryToolbox:因果建模、因果图代码实现

    CausalDiscoveryToolbox:因果建模、因果图代码实现Cdt工具包实现了端到端的因果建模方法,支持从观测数据中恢复直接依赖关系(因果图的骨架)和变量之间的因果关系。基于python实现了许多用于图结构恢复的算法,接口简单,易于上手。

    2022年8月14日
    6
  • MSAgent 详细解说(上)「建议收藏」

    MSAgent 详细解说(上)「建议收藏」转:http://www.blueidea.com/tech/web/2004/1643.asp 作者windy_sk 邮箱:windy_sk@126.com下面是原文:本文完全原创,所有参考都是msdn.microsoft.com/library/en-us/msagent/agentstartpage_7gdh.asp引子:本来两年前就打算写了,结果拖了这么长时间,近日看到有朋友问及…

    2022年4月19日
    50
  • Linux——./configure && make && make install命令解析

    Linux——./configure && make && make install命令解析当我们在Linux上安装相关的软件源码包时,一般会涉及到以下三个步骤,分别是 ./configure、make、make install————————————————————————————————————————————————————第一步./configure 该步骤主要用来检测系统的配置、环境以及相关依赖,如果缺少相关依赖,该脚本会中止执行,软件安装失败如:它会检…

    2022年6月13日
    40
  • mybatis批量导入(数据库批量提交)

    从网上查阅相关资料,整理了一个Oracle批量插入的方法: SELECTS_FORUM_USERID.NEXTVALFROMDUAL INSERTINTODEPT(DEPTNO,DNAME,LOC)SELECTS_FORUM_USERID.NEXTVAL,A.*FROM( SELEC

    2022年4月13日
    49
  • mac双系统安装方法_macbook如何安装双系统

    mac双系统安装方法_macbook如何安装双系统Mac上安装双系统(传统BootCamp傻瓜式)图文教程写在前面:Mac用户在使用过程中,多少有的时候还会使用Windows,想装一个咋办?找某宝需要花钱150元,看这篇文章,十几分钟看明白,自己动手丰衣足食!所以本文将以图文教程教你如何安装双系统,开机随意选择,想用什么用什么!尽管我不是很喜欢用Windows…….个人建议阅读完本文章,彻底看明白之后再对照操作安装前期准备工作:需准备至少8Gb空优盘一个,不是空的可以提前备份一下,制作启动盘会格式化优盘,请注意!制作启动盘…

    2022年10月6日
    1
  • openGL研究钞四 : 关于颜色, 尺寸, 虚线, 多边形逆转, 空洞, 使用位图

    openGL研究钞四 : 关于颜色, 尺寸, 虚线, 多边形逆转, 空洞, 使用位图

    2022年1月14日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号