python 保存图片代码_最简单的selenium+Python自动右键保存图片
[toc]
最近需要爬古籍影印版图片,但是对方网站有反爬虫,于是考虑用selenium,selenium比想象中的简单。右键的难点在于在元素上执行右键之后,selenium就不能操作菜单了。
所以需要别的办法,有的使用autoit第三方软件,比较繁琐;有的用Python的win32库,垃圾;找到了一个非常好的解决方案,用pyautogui库,这个库是对win32的封装,发送按键简单粗暴,比selenium的发送按键还要人性化,点赞。代码如下。
安装pyautogui
pip install autogui
代码如下
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import pyautogui
from time import sleep
# 代码的健壮性
driver = webdriver.Chrome('d:/coding/chromedriver.exe') # Optional argument, if not specified will search path.
driver.get('https://www.jianshu.com/');
# 选择元素
wait = WebDriverWait(driver,10)
# 右键单击图片
img = wait.until(EC.element_to_be_clickable((By.TAG_NAME,'img')))
# 执行鼠标动作
actions = ActionChains(driver)
# 找到图片后右键单击图片
actions.context_click(img)
actions.perform()
# 发送键盘按键,根据不同的网页,
# 右键之后按对应次数向下键,
# 找到图片另存为菜单
pyautogui.typewrite(['down','down','down','down','down','down','down','enter','enter'])
# 单击图片另存之后等1s敲回车
sleep(1)
pyautogui.typewrite(['enter'])
按7次向下键找到图片另存为选项
敲回车保存图片
整个过程都是程序自动运行,这个就构成了自动下载图片的基础。
python 保存图片代码_最简单的selenium+Python自动右键保存图片相关推荐
- 新手python爬虫代码_新手小白必看 Python爬虫学习路线全面指导
爬虫是大家公认的入门Python最好方式,没有之一.虽然Python有很多应用的方向,但爬虫对于新手小白而言更友好,原理也更简单,几行代码就能实现基本的爬虫,零基础也能快速入门,让新手小白体会更大的成 ...
- python半圆代码_趣味项目:用Python代码做个月饼送给你!
所用工具 1.Python中的turtle包 2.对Python似火的热情 先来介绍一番 Turtle作图又叫海龟作图,是Python中比较有趣的一个模块,功能强大,使用方便.简单来说,比如有一块空地 ...
- python新年快乐代码_先祝福大家新年快乐 Python 大神们 帮忙看看是什么问题
5 339 天前 @Sylv Python 3 的错误提示 ```Python Traceback (most recent call last): File "C:/Python/test ...
- python小乌龟代码_悄悄告诉你,Python 里面有一只小乌龟
众所周知,Python 生态里面有数不尽的第三方库.所以大家在写程序的时候,总是到处去寻找各种各样的第三方库. 但大家没有注意到的是,Python 官方自带的库里面,也藏着各种各样的宝贝. 今天我们介 ...
- python 金融分析代码_手把手教你以python为工具进行量化金融分析
量化交易是指借助现代统计学和数学的方法,利用计算机技术进行投资交易的方式. 对于从未接触过量化的人来说,想要了解量化到底是做什么的,关键掌握四部份的内容:Python基础知识.金融知识.技术指标.量化 ...
- 微信跳一跳python全部代码_微信跳一跳辅助python代码实现
微信跳一跳辅助的python具体实现代码,供大家参考,具体内容如下 这是一个 2.5D 插画风格的益智游戏,玩家可以通过按压屏幕时间的长短来控制这个「小人」跳跃的距离.可能刚开始上手的时候,因为时间距 ...
- Selenium入门(自动右键保存图片到本机上)
前言 入职测开一段时间,基本就是熟悉需求,熟悉业务,熟悉这熟悉那,再跟着需求做各种各样的测试和联调,趁着业余时间,也是学习了一下Selenium,在之前Selenium是我作为爬虫的工具,不过之后就用 ...
- c4d python使用方法_C4D Python语言代码编程教程 Cineversity - Introduction to Python in C4D | 龋齿一号GFXCamp...
C4D Python语言代码编程教程 Cineversity – Introduction to Python in C4D 讲解C4D Python语法,利用Python制作和编辑简单的物体,改变 ...
- python 功能 代码_挑战“不可能”的代码:你不知道的Python功能
本文转载自公众号"读芯术"(ID:AI_Discovery) Python看似简单,但实则变化万千,笔者总都能看到一些代码以近乎不可能的方式呈现.这些功能很精妙,以至于我无法想象没 ...
最新文章
- PowerDesigner生成数据库
- AI芯片的未来之战:“霸主”英伟达真就无人能挡了吗?
- qconshanghai2014
- python helloword_python学习笔记- python中的类
- 关于优酷开发sdkdemo的布局
- PHP 如何得到当前页面中所有已定义的变量和常量
- 【编程题目】输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。...
- Top 10 Project Management Software
- 学python要什么基础-要学Python编程,需要什么样的基础呢?想找这方面工作
- fastadmin在html中查询数据,常见问题 · fastadmin 常见问题 · 看云
- ListView若干点
- 通​过​C​a​c​t​i​监​控​w​i​n​d​o​w​s​资​源
- postman传String类型参数时不能加双引号
- Unity3D - 使用天空盒子(Using Skyboxes)
- 通过读取学生txt,进而实现随机选人(包含对应人物照片)并用GUI实现
- 大脑构造图与功能解析_大脑的结构和功能?
- [4G5G专题-112]:部署 - LTE邻区规划、配置、自动邻区关系ANR
- Google推出免费中秋祝福短信服务
- 为什么英语能够成为全球通用语言,汉语却不行?
- 这么简单的抓包神器?15块钱?两块钱就搞定!
热门文章
- 计算机数日期,计算机如何计算两个日期之间的天数
- 内蒙古工业大学计算机科学与技术,计算机科学与技术的应用领域简述论文内蒙古工业大学.doc...
- linux 多个定时器,timer: 一个Linux下的超级精简的多重定时器:可实现成千上万个定时任务,定时精度可达纳秒级别,且同一时间点可添加不同的任务!适用于云后台服务和嵌入式等各种环境。...
- linux打包cpio命令例子,linux压缩命令——tar、cpio详解
- 【OpenCV 例程200篇】62. 图像锐化——钝化掩蔽
- 虚拟桌面分屏_桌面中的灭霸 三星C49HG90 32:9超带鱼屏体验
- php自动抓取文章图片,从文章中提取图片,把图片保存到本地,自动提取缩略图...
- python oracle orm_Python ORM
- opencv特征提取1-Harris角点检测
- VS2015+qt5.11入门(实现计算机的加法和登录操作)