很多时候你需要从网站上下载不同种类的文件,像是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");

利用selenium webdriver下载不同类型的文件(pdf,txt等等)相关推荐

  1. 利用 Python 和 Selenium 自动下载知网期刊文件

    利用Selenium自动下载知网期刊文件 1 下载 Chrome 的 Webdriver 2 代码 2.1 导入相关的包 2.2 设置 WebDriver 2.3 找到期刊名在网页上对应元素 2.4 ...

  2. 浏览器中利用js打包下载所有类型文件

    浏览器中利用js打包下载所有类型文件 概述 ajax请求方式打包下载所有类型文件 canvas渲染方式打包下载所有图片 相关知识 作者 概述 需求:1.项目中在浏览器中点击按钮后根据多个url地址下载 ...

  3. Selenium WebDriver下载安装

    Selenium WebDriver下载 1.确认操作系统版本->win10,64位系统 2.确认要使用的浏览器及版本->谷歌浏览器,91.0.4472.77(正式版本) (64 位) 3 ...

  4. 利用MATLAB将图片转换成coe文件、TXT文件、mif文件、bin文件

    利用MATLAB将图片转换成coe文件.TXT文件.mif文件 利用MATLAB将图片转换成coe文件 利用MATLAB将图片转换成txt文件 利用MATLAB将图片转换成mif文件 利用MATLAB ...

  5. php只显示指定文件类型_php强制下载指定类型的文件

    当需要将文件直接下载时,可以使用如下的函数来实现. 代码: 复制代码 代码示例: function downloadFile($file){ $file_name = $file; $mime = ' ...

  6. 全网最强下载神器IDM使用教程:如何利用IDM加速下载百度网盘大文件

    作者:okay 自从不限速度盘下载工具Pandownload被封杀后,有些网友纷纷表示:幸好我们还有IDM. 但是,对于很多小伙伴来说,初次听到这个名词时都是一脸懵逼--啥是IDM? 今天,扩展迷就专 ...

  7. 利用wget批量下载http目录下文件

    因为网络特殊,连不上互联网,只好自己制作一个puppet本地源.因为自己的电脑是是可以连互联网的,所以就直接将puppetlabs.repo导入进来了 rpm -Uvh http://yum.pupp ...

  8. python selenium下载,在python中通过Selenium Webdriver下载文件

    在使用新的FirefoxProfile时,使用set_preference方法来配置配置文件,这样就可以单击Save和{},并且在下载过程中不会被中断.您可以按如下方式设置配置:profile = w ...

  9. 利用selenium模块配合chromedriver把html文件转换为图片

    # -*- coding: utf-8 -*- import time, os from PIL import Image from selenium import webdriverdef Html ...

  10. 实战|利用Selenium批量下载100首网易云热歌榜音乐

    今天的小demo我们使用的是selenium和xpath.函数式编程采集数据.采集到的数据如图所示. 01 需求数据 网易云音乐新歌榜数据100首歌曲. 02 页面分析 首先这个页面通过reuqest ...

最新文章

  1. 使用Ext Form自动绑定Html中的Form元素
  2. 20 位百万富翁希望自己 20 岁就明白的事
  3. Linux磁盘管理:LVM逻辑卷的拉伸及缩减
  4. Linux(树莓派)安装 python-opencv
  5. Linux安装宝塔面板
  6. 覆盖所有面试知识点,送大厂面经一份!
  7. 【Codeforces #130 Div2】Solutions
  8. 动态重定位的增加的紧凑功能
  9. Shell 计算两个数的加减乘除取余(+、-、*、\、/)
  10. sftp api java_SFTP例子2----使用JSch实现SFTP文件传输
  11. 记录一次日志实现,基于log4j2
  12. 使用Python发送邮件(图片、表格、附件) 系列二: 同时发送图片和附件实际案例
  13. RACK为TCP BBR提供动力源
  14. window PCL安装编译
  15. 出现 CUDA out of memory 的解决方法
  16. 劲爆!有人不用深度学习做强AI?道翰天琼认知智能机器人平台API接口大脑为您揭秘
  17. linux 群组分类,Linux文件权限与群组修改命令详解
  18. 【吴恩达团队】TensorFlow2.0中的自然语言处理
  19. 有什么靠谱的Python培训机构
  20. 美术初学者画速写人物遇到的问题有哪些

热门文章

  1. Docker 错误 “port is already allocated” 解决方法
  2. OSChina 周日乱弹 —— 十大人艰不拆的网络真相!
  3. 在线音频剪辑、编辑工具
  4. 如何查看电脑ip地址
  5. 百度导航怎么不显示服务器,百度地图的导航设置中选择在线优先还是离线优先?...
  6. 服务器系统2008R2安全模式,server 2008 r2怎么进入安全模式
  7. *新手看php手册的正确姿势
  8. 【卫星影像三维重建】完整的卫星立体重建
  9. MySQL的日志 - relay log
  10. REST,以及RESTful的讲解