最近在用selenium爬取一些数据,其中就要攻破验证码,奈何selenium本身没有直接保存图片的功能,经过一番度娘,对网上的方法不是很赞同,大体上有下面两种方法:

整个页面截图,然后根据获取的Element大小切割图像

使用鼠标和键盘事件模拟另存操作

我认为第一种方法再某些情况下可能会造成图片清晰度丢失,因为有些网站的图片是经过css限制了大小展示在页面上,如果截图的话,势必图像像素变小,清晰度降低。第二种方法可以实现,但是太复杂,中间鼠标、键盘还不能有其他动作,抗干扰能力差。

经过一番思考,我突然想到之前做的一个需求:在一个单页面应用上下载文件。当时是使用window.open实现的,但是新用户在使用的时候浏览器总会拦截,这样的体验不是很好。因此后来又改良了一下,使用XMLHttpRequest请求,返回blob,然后构造一个a标签,填充base64,完成下载,代码如下:

var url = 'url';

var xhr = new XMLHttpRequest();

xhr.open('GET', url, true);

xhr.responseType = blob;

xhr.onload = function() {

if (this.status === 200) {

varblob = this.response;

varreader = new FileReader();

reader.readAsDataURL(blob);

reader.onload = function(e) {

vara = document.createElement('a');

a.download = 'aaa.jpg';

a.href = e.target.result;

$(body).append(a);

a.click();

$(a).remove();

}

}

};

xhr.send();

后面的事情就不用多说了,文件已经下载下来,而且是源文件。需要的小伙伴快去试试吧~~

python selenium下载图片_selenium下载图片(原图)相关推荐

  1. python+selenium爬虫自动化批量下载文件

    一.项目需求 在一个业务网站有可以一个个打开有相关内容的文本,需要逐个保存为TXT,数据量是以千为单位,人工操作会麻木到崩溃. 二.解决方案 目前的基础办法就是使用python+selenium自动化 ...

  2. Python——selenium自动点击下载腾讯文档

    成功属于有准备的人 腾讯文档使用selenium方法点击下载,早前写的,现下网页格局可能有所改变. 代码基本都有注释. 那时刚入坑不久,代码不好看还望见谅. from bs4 import Beaut ...

  3. Python + Selenium(九)- 解决图片验证码登录或注册问题

    1. 解决思路 首先要获得这张验证码的图片,但是该图片一般都是用的js写的,不能够通过url进行下载. 解决方案:截图然后根据该图片的定位和长高,使用工具进行裁剪 裁剪完毕之后,使用工具解析该图片. ...

  4. python selenium 关闭窗口_Selenium快速上手实战 | 上篇

    前言 Selenium是一个用于Web应用程序的自动化测试工具.它直接运行在浏览器中,可以模拟用户在浏览器上面的行为操作. 在AirtestIDE中,开发者也给我们提供了使用Selenium的窗口.不 ...

  5. python selenium高级教程_selenium(python)教程

    Updated on Aug-11-2019 今天再试了一下,发现自己的chrome安装路径变成"C:\Users\Kevin\AppData\Local\Google\Chrome\App ...

  6. python selenium 处理弹窗_Selenium自动化发布话题,以及获取window.showModalDialog()弹窗对象(Python实现)...

    折腾了一下自动化测试,找到了阿里开源的一个 uirecorder ,可以自动录制测试过程,但自定义逻辑有些麻烦 然后发现这货是基于 selenium 实现的,于是就开始折腾起了 selenium,弄出 ...

  7. python selenium模拟键盘_SELENIUM自动化模拟键盘快捷键操作实现解析

    这篇文章主要介绍了SELENIUM自动化模拟键盘快捷键操作实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 平常我们会用到很多快捷键,那么se ...

  8. python selenium post请求_selenium爬虫中的post坑

    Selenium是一款比较常见的web应用自动化测试库,它支持多种浏览器,多用于在爬虫中解决JavaScript渲染问题. 当requests,urllib*无法正常获取网页内容的时候,用它模拟浏览器 ...

  9. python selenium翻页_Selenium翻页的实现方法实例

    在实际测试项目中,会出现新增数据记录不显示在第一页,而是显示最后一页,对于这种情况,那我们要根据每页显示数据数来进行翻页,保证代码能够准确拿到数据文本来做结果比对. 第一步:在基础类BaseTest中 ...

  10. python selenium下载_Python Selenium安装下载

    本篇讲解Python Selenium如何安装,下载.本篇已假定你已经熟悉Python,并且已安装好Python和pip. 本篇及以后篇幅所讲代码都调试运行在Python3.6版本上通过. Pytho ...

最新文章

  1. 可以把阿里云上面的一些介绍和视频都看看
  2. Java系列:关于Java中的桥接方法
  3. codeforces808G Anthem of Berland(kmp+自动机+dp)
  4. 页面生命周期:DOMContentLoaded, load, beforeunload, unload
  5. Eclipse python 开发环境配置
  6. Openfire4源码部署到eclipse中并编译
  7. LeetCode 572. 另一个树的子树 思考分析
  8. [MySQL] INFORMATION_SCHEMA 数据库包含所有表的字段
  9. windows内核初窥(二)-----系统机制
  10. UITableView 编辑和删除行
  11. ue4账号注册不了_英雄联盟手游拳头账号注册
  12. ibatis_HelloWorld
  13. 元素查找(xpath)
  14. 村田【元宇宙】要火,但不能“起火”—— 电池:半固态凝胶软包电池篇
  15. 消息认证码 EMAC
  16. AVFoundation学习记录
  17. Android面试必问!记录下我磕磕碰碰的三个月找工作经历,面试心得体会
  18. [编程题]:n头牛中选择满足所有m种特性的牛(百度2021)
  19. 电路方程的矩阵形式 c语言,电路方程的矩阵形式
  20. Docker 常见使用

热门文章

  1. 活力四射MSNMessenger(转)
  2. 卓有成效的管理者(笔记)——我能贡献什么
  3. 修改 xweibo 的memcache代码,让xweibo支持wincache,加快xweibo速度
  4. premiere cc2014破解版|premiere cc2014绿色破解版下载
  5. 企业信息安全管理制度
  6. JavaScript编程软件手机版,JavaScript编程软件
  7. jmeter---ftp性能测试
  8. C#webservice实例
  9. ERP系统和ERP软件的介绍
  10. 10000亿的暴利:数字化营销今生与未来