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次向下键找到图片另存为选项

敲回车保存图片

整个过程都是程序自动运行,这个就构成了自动下载图片的基础。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值