Python使用selenium和pyautogui实现自动右键保存图片,破解图片防盗链,文件目录及文件名使用pyperclip实现自定义

最近爬图片遇到,构建headers、代理都不能根据图片链接下载图片,浏览器能打开图片链接!!!重点。浏览器能打开,想到了selenium的chrome

使用driver.page_source能用来xpath 查找,但是写入图片就啥都没有,这里还没搞懂,要是能写入,就简单了

想到了能不能自动右键保存,搜索到pyautogui可以实现自动保存,但是网上找不到自定义文件目录的例子,而且代码比较复杂

最后发现pyperclip可以将字符串复制到粘贴板!!!灵感就来了

代码流程如下,我的是浏览器打开图片链接,设置鼠标移动到图片位置——右键单击——选择V保存图片选项——粘贴文件名——确认保存

右键单击后,需要等待时间,不然粘贴不能完成,自己试试右键——选择V(同时ctrl+V),你会发现没有粘贴出来

代码纯原创,转载请注明出处

显示等待、隐式等待,在学习,代码还要改

更新在这里更新链接

from selenium import webdriver
from time import sleep
import pyperclip,pyautogui

driver = webdriver.Chrome()
#窗口最大化
driver.maximize_window()
driver.get('http://desk.zol.com.cn/showpic/1920x1200_777_13.html')

#鼠标移动到图片位置,右键点击
pyautogui.rightClick(x=1000, y=500)

#输入V,选择保存图片
pyautogui.typewrite(['V'])

#将地址以及文件名复制
pic_dir = 'E:\\ROSI\\35.jpg'
pyperclip.copy(pic_dir)

#等待窗口打开,以免命令冲突,粘贴失败,试过很多次才有0.8,具体时间自己试
sleep(0.8)
#粘贴
pyautogui.hotkey('ctrlleft','V')

#下面也可以实现粘贴
# pyautogui.keyDown('ctrl')
# pyautogui.press('v')
# pyautogui.keyUp('ctrl')

#确认保存
pyautogui.press('enter')


你可能感兴趣的:(selenium)