利用selenium webdriver下载不同类型的文件(pdf,txt等等)[通俗易懂]

利用selenium webdriver下载不同类型的文件(pdf,txt等等)[通俗易懂]很多时候你需要从网站上下载不同种类的文件,像是MSExcelfile,MSWordFile,Zipfile,PDFfile,CSVfile,Textfile,等等。如果手动下载,会弹出一个保存文件的对话框。现在,seleniumwebdriver还不能处理这样的对话框。不过,你可以用别的好的seleniumwebdriver的特点去很轻松的下载文件,而不用

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

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

很多时候你需要从网站上下载不同种类的文件,像是MS Excel file, MS Word File, Zip file, PDF file, CSV file, Text file, 等等。
如果手动下载,会弹出一个保存文件的对话框。
这里写图片描述
现在,selenium webdriver还不能处理这样的对话框。不过,你可以用别的好的selenium webdriver的特点去很轻松的下载文件,而不用处理这个对话框。在了解这些特点之前,我们先来看看文件的MIME类型。

什么是文件的MIME

MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型,是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。
用selenium webdriver时, 你必须提供文件的MIME类型。有很多工具可以检测到文件的MIME类型。可以搜索MIME checker来找到合适的工具。
以下是5中常见的文件的MIME类型:
1. Text File (.txt) – text/plain
2. PDF File (.pdf) – application/pdf
3. CSV File (.csv) – text/csv
4. MS Excel File (.xlsx) – application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
5. MS word File (.docx) – application/vnd.openxmlformats-officedocument.wordprocessingml.document
6. zip file(.zip) – application/zip

利用selenium webdriver下载不同类型的文件(pdf,txt等等)的代码实例

FirefoxProfile fprofile = new FirefoxProfile();
//Set Location to store files after downloading.
fprofile.setPreference("browser.download.dir", "D:\\WebDriverdownloads");
fprofile.setPreference("browser.download.folderList", 2);
//fprofile.setPreference("browser.download.useDownloadDir", true);
//fprofile.setPreference("browser.helperApps.alwaysAsk.force", false);
fprofile.setPreference("browser.download.manager.showWhenStarting", false);
fprofile.setPreference( "pdfjs.disabled", true );
fprofile.setPreference(
                "browser.helperApps.neverAsk.saveToDisk",
                "application/zip,text/plain,application/vnd.ms-excel,text/csv,text/comma-separated-values,application/octet-stream,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.openxmlformats-officedocument.wordprocessingml.document");
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/193473.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • PHP审计之class_exists与任意实例化漏洞

    PHP审计之class_exists与任意实例化漏洞前言发现PHP的一些漏洞函数挺有意思,跟着七月火师傅的文章来学习.class_exists函数函数说明class_exists:(PHP

    2021年12月13日
  • rabbitmq 和 kafka使用场景[通俗易懂]

    rabbitmq 和 kafka使用场景[通俗易懂] rabbitMQ     1.RabbitMQ的消息应当尽可能的小,并且只用来处理实时且要高可靠性的消息。2.消费者和生产者的能力尽量对等,否则消息堆积会严重影响RabbitMQ的性能。3.集群部署,使用热备,保证消息的可靠性。 kafka1.应当有一个非常好的运维监控系统,不单单要监控Kafka本身,还要监控Zookeeper。(kafka强烈的依赖于zookeepe…

    2022年10月14日
  • freeswitch呼叫中心开发

    freeswitch呼叫中心开发开发freeswitch呼叫中心1、配置ivr2、启用mod_callcenter3、开发websocker接口,通过esl接口,发送callcenter_config命令给fs4、开发客户端页面,注册,注销,就绪,置忙等接口5、开发来电弹屏,通过客户端读取redis参数实现freeswitch的呼叫中心模块很方便的就可以让用户体验这种呼叫中心模式,包含了很多功能,具体参数的配置在使用中自行摸索。编译安装freeswitch时需要开启mod_callcenter、mod_fifo的编译,之

  • pytest parametrize fixture_pytest参数化可变参数

    pytest parametrize fixture_pytest参数化可变参数前言当某个接口中的一个字段,里面规定的范围为1-5,你5个数字都要单独写一条测试用例,就太麻烦了,这个时候可以使用pytest.mark.parametrize装饰器可以实现测试用例参数化。官方示

  • 推荐系统中传统模型——LightGBM + FFM融合

    推荐系统中传统模型——LightGBM + FFM融合之前比较相关的文章:推荐系统中传统模型——LightGBM+LR融合python-机器学习lightgbm相关实践1深入FFM原理与实践来自美团技术团队的,深入FFM原理与实践FM和FFM模型是最近几年提出的模型,凭借其在数据量比较大并且特征稀疏的情况下,仍然能够得到优秀的性能和效果的特性,屡次在各大公司举办的CTR预估比赛中获得不错的战绩。美团技术团队在搭建DSP的过程中,探索并使用了FM和FFM模型进行CTR和CVR预估,并且取得了不错的效果。经过One-Hot编码之后,大部分

  • presto timestmp使用

    presto timestmp使用

    2021年11月27日

发表回复

您的电子邮箱地址不会被公开。

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