第一次截图是截屏全屏,然后对第一次截图的图片进行定位指定区域,然后二次截屏,但是二次截图不是我想要的位置,请各位老师帮忙看下。,我二次截图想截图的是验证区域
'''获取验证码,先定位验证码的标签的位置,然后获取验证码图标区域的定位,最后根据定位进行二次截图并保存,识别图片,在进行输入验证码,点击登录按钮'''
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']))#截取的位置坐标
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() #点击登录按钮
https://www.cnblogs.com/pythonywy/p/11777511.html,有必要这么麻烦吗...
元素对象.screenshot("存图片的路径")
真的很好用啊,谢谢!
请问用这个方法解决了验证码问题吗,我现在也碰到这个问题