[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自动右键保存图片相关推荐

  1. 新手python爬虫代码_新手小白必看 Python爬虫学习路线全面指导

    爬虫是大家公认的入门Python最好方式,没有之一.虽然Python有很多应用的方向,但爬虫对于新手小白而言更友好,原理也更简单,几行代码就能实现基本的爬虫,零基础也能快速入门,让新手小白体会更大的成 ...

  2. python半圆代码_趣味项目:用Python代码做个月饼送给你!

    所用工具 1.Python中的turtle包 2.对Python似火的热情 先来介绍一番 Turtle作图又叫海龟作图,是Python中比较有趣的一个模块,功能强大,使用方便.简单来说,比如有一块空地 ...

  3. python新年快乐代码_先祝福大家新年快乐 Python 大神们 帮忙看看是什么问题

    5 339 天前 @Sylv Python 3 的错误提示 ```Python Traceback (most recent call last): File "C:/Python/test ...

  4. python小乌龟代码_悄悄告诉你,Python 里面有一只小乌龟

    众所周知,Python 生态里面有数不尽的第三方库.所以大家在写程序的时候,总是到处去寻找各种各样的第三方库. 但大家没有注意到的是,Python 官方自带的库里面,也藏着各种各样的宝贝. 今天我们介 ...

  5. python 金融分析代码_手把手教你以python为工具进行量化金融分析

    量化交易是指借助现代统计学和数学的方法,利用计算机技术进行投资交易的方式. 对于从未接触过量化的人来说,想要了解量化到底是做什么的,关键掌握四部份的内容:Python基础知识.金融知识.技术指标.量化 ...

  6. 微信跳一跳python全部代码_微信跳一跳辅助python代码实现

    微信跳一跳辅助的python具体实现代码,供大家参考,具体内容如下 这是一个 2.5D 插画风格的益智游戏,玩家可以通过按压屏幕时间的长短来控制这个「小人」跳跃的距离.可能刚开始上手的时候,因为时间距 ...

  7. Selenium入门(自动右键保存图片到本机上)

    前言 入职测开一段时间,基本就是熟悉需求,熟悉业务,熟悉这熟悉那,再跟着需求做各种各样的测试和联调,趁着业余时间,也是学习了一下Selenium,在之前Selenium是我作为爬虫的工具,不过之后就用 ...

  8. c4d python使用方法_C4D Python语言代码编程教程 Cineversity - Introduction to Python in C4D | 龋齿一号GFXCamp...

    C4D Python语言代码编程教程 Cineversity –  Introduction to Python in C4D 讲解C4D Python语法,利用Python制作和编辑简单的物体,改变 ...

  9. python 功能 代码_挑战“不可能”的代码:你不知道的Python功能

    本文转载自公众号"读芯术"(ID:AI_Discovery) Python看似简单,但实则变化万千,笔者总都能看到一些代码以近乎不可能的方式呈现.这些功能很精妙,以至于我无法想象没 ...

最新文章

  1. PowerDesigner生成数据库
  2. AI芯片的未来之战:“霸主”英伟达真就无人能挡了吗?
  3. qconshanghai2014
  4. python helloword_python学习笔记- python中的类
  5. 关于优酷开发sdkdemo的布局
  6. PHP 如何得到当前页面中所有已定义的变量和常量
  7. 【编程题目】输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。...
  8. Top 10 Project Management Software
  9. 学python要什么基础-要学Python编程,需要什么样的基础呢?想找这方面工作
  10. fastadmin在html中查询数据,常见问题 · fastadmin 常见问题 · 看云
  11. ListView若干点
  12. 通​过​C​a​c​t​i​监​控​w​i​n​d​o​w​s​资​源
  13. postman传String类型参数时不能加双引号
  14. Unity3D - 使用天空盒子(Using Skyboxes)
  15. 通过读取学生txt,进而实现随机选人(包含对应人物照片)并用GUI实现
  16. 大脑构造图与功能解析_大脑的结构和功能?
  17. [4G5G专题-112]:部署 - LTE邻区规划、配置、自动邻区关系ANR
  18. Google推出免费中秋祝福短信服务
  19. 为什么英语能够成为全球通用语言,汉语却不行?
  20. 这么简单的抓包神器?15块钱?两块钱就搞定!

热门文章

  1. 计算机数日期,计算机如何计算两个日期之间的天数
  2. 内蒙古工业大学计算机科学与技术,计算机科学与技术的应用领域简述论文内蒙古工业大学.doc...
  3. linux 多个定时器,timer: 一个Linux下的超级精简的多重定时器:可实现成千上万个定时任务,定时精度可达纳秒级别,且同一时间点可添加不同的任务!适用于云后台服务和嵌入式等各种环境。...
  4. linux打包cpio命令例子,linux压缩命令——tar、cpio详解
  5. 【OpenCV 例程200篇】62. 图像锐化——钝化掩蔽
  6. 虚拟桌面分屏_桌面中的灭霸 三星C49HG90 32:9超带鱼屏体验
  7. php自动抓取文章图片,从文章中提取图片,把图片保存到本地,自动提取缩略图...
  8. python oracle orm_Python ORM
  9. opencv特征提取1-Harris角点检测
  10. VS2015+qt5.11入门(实现计算机的加法和登录操作)