在上一篇文章中有提到【使用Selenium server standalone实现定时web自动化下载电影】,这只是实现了下载脚本和Selenium server的部署,但在实际下载过程中,这样的设置还是不够的。

大家都知道Firefox在下载文件的时候,会弹出一个确认对话框,让用户选择是直接打开还是保存到指定的文件路径,但这个弹出对话框是浏览器客户端层面的,Selenium脚本是无法控制的。

虽然,我们可以通过其他的方式实现对这个弹出框的操作,请参考
【利用Robot Framework+Selenium2Library和AutoItLibrary】来实现对于Windows GUI的控制。

但本文探讨如何以Selenium方式,不借助其他工具和方法。既然无法Selenium无法控制,我们能不能绕过这个弹出框,让它点击下载后默认自动保存到指定文件路径呢?答案是肯定的。

打开Firefox->工具->选项,或者直接输入【about:preferences】进入通用设置,选择保存到指定文件路径。设置好后,让我们点击一个文件进行下载,奇怪?怎么不生效!还是会有弹出窗口…….

原来这个设置只对相应的文件生效,让我们找到这个相应的文件进行配置。

点击【应用程序】,搜索exe,在操作选项选择【保存文件】。因为要下载电影,格式为【rmvb】,怎么搜索没有任何结果?可以百度一下【rmvb content-type】,这里直接贴上对照表:http://tool.oschina.net/commons

虽然这个对照表包含了绝大多数的类型对照,但总有漏网之鱼,例如【.war】文件就没有在对照表上面。不用着急,我们可以自己查看网络传输的内容来获取。

打开浏览器,按F12调出开发者工具,在网络[network]中找到这个文件,可以查看它的[Content-Type]了,就是那么easy~

找到了文件的Content-Type,如何添加到应用程序列表上,让它识别呢?
在Firefox中输入【about:config】进入浏览器配置页面,在搜索中输入【browser.helperApps.neverAsk.saveToDisk】
双击进入编辑,在【Value】中输入之前找到的Content-Type

大功告成,所有配置都设置好了,但默认这些设置被保存在当前Firefox的Profile。而Selenium在启动的时候默认是新建一个profile,全新的空的干净浏览器来运行,这些设置相当于白干,别急。让我们来指定Selenium启动Firefox时的Profile。
打开文件夹【C:\Users\XXX\AppData\Roaming\Mozilla\Firefox\Profiles】
但是此目录下生成的Profile的文件名是自动产生的一串数字,如何对Firefox Profi进行管理呢?
1、关闭所有Filefox浏览窗口
2、运行Firefox Manager,点击windows“开始”–>“运行”,然后在输入框输入firefox.exe -ProfileManager,点击“确定”按钮

3、创建一个新的Profile,只需点击“创建配置文件”按钮,在接着出现的向导窗口里输入配置文件名”seo”

现在就创建了一个独立的Firefox Profile配置文件,你可以将你的设置、首选项、和一些插件设置等保存在你的个人配置文件中。记住产生的配置文件名称所对应的目录名。

修改启动Selenium Server Standalone的代码:

java -jar C:\test\selenium-server-standalone-2.53.1.jar-htmlSuite "*firefox" "http://www.baidu.com" "C:\test\Baidu.html" "C:\test\report.html" -log selenium-alone.log -browserTimeout 9999 -timeout 9999999999 -firefoxProfileTemplate "C:\Users\XXX\AppData\Roaming\Mozilla\Firefox\Profiles\v4f5xsv1.Selenium"

-timeout 9999999999 指定了整个Selenium server的超时时间,由于下载比较大的文件需要很长时间,尽可能设置常一点的时间

-firefoxProfileTemplate 指定了Profile进行启动,这样可以把刚才对于文件类型设置和默认不弹框的配置加载进来。

当然可以在执行完Selenium脚本后进行调用批处理Batch命令,进行自动关机。

shutdown -s -t 60

Selenium自动化下载文件Firefox配置教程相关推荐

  1. Selenium 实现下载文件 Firefox,Chrome

    下载文件 WebDriver 允许我们设置默认的文件下载路径,也就是说文件会自动下载到我们设置的目录中,不同的浏览器设置方法不同 下面先以Firefox为例子,演示下载 import time fro ...

  2. jdk eclipse SDK下载安装及配置教程

    原文地址https://blog.csdn.net/dr_neo/article/details/49870587 最新鲜最详细的Android SDK下载安装及配置教程 最近Neo突发神经,想要将学 ...

  3. Selenium+Python 下载文件与上传文件

    Selenium+Python 下载文件与上传文件 目录 下载文件功能 谷歌浏览器下载设置 切换iframe框架 鼠标悬浮元素定位 鼠标悬浮后出现的元素定位 上传文件 切换句柄 利用AutoIt进行桌 ...

  4. python selenium下载对话框_Selenium+Python:下载文件(Firefox 和 Chrome)

    引自  https://blog.csdn.net/Momorrine/article/details/79794146 1.      环境 操作系统 Win10 IDE Eclipse (Oxyg ...

  5. python selenium 下载文件_python+selenium下载文件——firefox

    from selenium import webdriver import time fp = webdriver.FirefoxProfile() fp.set_preference('browse ...

  6. Python+selenium 自动化-mac下安装配置chrome驱动方法

    我的 Python 版本有两个,先通过 which 看一下对应版本的位置. 然后找到 python 安装目录里的 bin 文件夹,把对应的驱动放里面就好了. 如果不知道怎么匹配对应 chrome 版本 ...

  7. Python+selenium之下载文件

    一.Firefox文件下载 Web容许我们设置默认的文件下载路劲,文件会自动下载并且存放在指定的目录下. from selenium import webdriver import os fp = w ...

  8. python selenium 火狐下载文件

    注意: 1.需要加载 browser.helperApps.neverAsk.saveToDisk 选择,其值 application/x-msdownload 为Mine_type类型.该类型需要在 ...

  9. 用Selenium 爬虫下载文件,解除Chrome 下载警告 (Keep or Discard),设置下载目录的方法

    写在前面的话 我们的描述,运用都是基于Ubuntu 的运行环境 Chrome : Version 77.0.3865.90 (Official Build) (64-bit) OS : Ubuntu ...

最新文章

  1. Windows 不能在 本地计算机 启动 SQL Server 。错误代码126.
  2. HBase shell 中的十六进制数值表示
  3. This relative module was not found ./cptable webpack
  4. 理解typedef(转)
  5. SpringCloud工作笔记038---spring cloud-简单网关权限控制_直接在zuul里面做
  6. JVM垃圾收集器笔记整理
  7. python中的三种排序方法,使用冒泡对列表排序,使用自带sort方法进行排序
  8. 算法:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。
  9. html生物代码,方块方舟全物品代码 生物召唤代码大全
  10. 网络协议之UDP数据包
  11. warning: #61-D: integer operation result is out of range
  12. 惠普计算机进入安全模式,Windows10系统惠普电脑快速进入安全模式的方法
  13. Ubuntu桌面管理器
  14. 有权最短路径问题:狄克斯特拉(Dijkstra)算法 Java 实现
  15. 计算机视频追踪方向,基于深度学习的目标视频跟踪算法综述
  16. 【设计指南】避免PCB板翘,合格的工程师都会这样设计!
  17. 0016 c/c++语言 二进制转换为十进制
  18. 路由器如何让设置桥接模式
  19. 微信团队分享:微信每日亿次实时音视频聊天背后的技术解密
  20. Python数据分析之商品数据分析

热门文章

  1. 计算机安全模式都进不了系统,win10电脑安全模式都进不去怎么办
  2. PaddlePaddle/PaddleOCR 中英文文字识别
  3. 2022河南联赛第(二)场:河南理工大学 ---复盘
  4. System.IO.Stream 中Flush函数的用法
  5. 大数据金融,这个“跨界整合”会带来什么
  6. 图像的模式(RGB和CMYK)、通道(8位、16位、32位)分别有什么作用
  7. C# 操作MongoDB时间 时差问题
  8. epics安装css,EPICS-synApps/areaDetector安装
  9. 三阶魔方大中小魔公式_三阶魔方还原公式
  10. VirtualBox报错:不能为虚拟电脑XXX打开一个新任务