首页 新闻 会员 周边

python3指定区域截图

0
悬赏园豆:50 [已解决问题] 解决于 2019-11-22 21:41

第一次截图是截屏全屏,然后对第一次截图的图片进行定位指定区域,然后二次截屏,但是二次截图不是我想要的位置,请各位老师帮忙看下。,我二次截图想截图的是验证区域

'''获取验证码,先定位验证码的标签的位置,然后获取验证码图标区域的定位,最后根据定位进行二次截图并保存,识别图片,在进行输入验证码,点击登录按钮'''
yzm=browser.find_element_by_xpath('//*[@id="login_by_zx"]/div/div[2]/div[5]/img') #定位验证码元素
location=yzm.location #获取验证码x,y轴坐标
print(locals()) #获取验证码x,y轴坐标
size=yzm.size #获取验证码的长宽
print(size)
rangle=(int(location['x']),int(location['y']),int(location['x']+size['width']),int(location['y']+size['height']))#截取的位置坐标

rangle=(int(location['x']),int(location['y']),int(location['x']+size['width']),int(location['y']+size['height']))#截取的位置坐标

i=Image.open(r'C:\tools\leibo\a.png') #打开截图
frame4=i.crop(rangle) #使用Image的crop函数,从截图中再次截取我们需要的区域
frame4.save(r'C:\tools\leibo\frame4.png')#将截取到的验证码保存为jpg图片
qq=Image.open(r'C:\tools\leibo\frame4.png')#打开jpg验证码图片
text=pytesseract.image_to_string(qq).strip()#使用image_to_string识别验证码
time.sleep(3)

browser.find_element_by_name("login_verifyInput").send_keys(text)#将识别的图片验证码信息输入到验证码输入文本框中
browser.find_element_by_class("login_btn").click() #点击登录按钮

我是大刘啊的主页 我是大刘啊 | 初学一级 | 园豆:160
提问于:2019-11-21 19:27
< >
分享
最佳答案
0

https://www.cnblogs.com/pythonywy/p/11777511.html,有必要这么麻烦吗...

元素对象.screenshot("存图片的路径")

收获园豆:50
小小咸鱼YwY | 老鸟四级 |园豆:3210 | 2019-11-21 19:46

真的很好用啊,谢谢!

我是大刘啊 | 园豆:160 (初学一级) | 2019-11-22 21:40
其他回答(1)
0

请问用这个方法解决了验证码问题吗,我现在也碰到这个问题

袁麻麻 | 园豆:202 (菜鸟二级) | 2022-02-26 16:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册