1 #打码平台 2 def dmpt(self,filename,bro): 3 result=fateadm_api.TestFunc(filename)#调用打码平台 4 print("准备输入验证码") 5 time.sleep(1) 6 bro.find_element_by_xpath('//*[@id="seccodeInput"]').send_keys(result)#输入验证码 7 time.sleep(1) 8 bro.find_element_by_xpath('//*[@id="submit"]').click() 9 time.sleep(4) 10 print("提交完成,马上跳转,请稍等") 11 if "访问出错了" in bro.page_source: 12 self.image(bro) 13 14 #处理验证码 15 def image(self,bro): 16 time.sleep(2) 17 #picture_time = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time())) 18 img = bro.find_element_by_id('seccodeImage') 19 location = img.location 20 size = img.size 21 left = location['x'] 22 top = location['y'] 23 right = left + size['width'] 24 bottom = top + size['height'] 25 page_snap_obj = self.get_snap(bro) 26 time.sleep(2) 27 image_obj = page_snap_obj.crop((left, top, right, bottom))#提取验证码图片 28 #image_obj.show()#window自带的图片展示 29 filename='./image/'+"a"+".png" 30 image_obj.save(filename)#保存图片 31 self.dmpt(filename,bro)#调用打码平台 32 33 #保存打开图片返回 34 def get_snap(self,bro): 35 # picture_time = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time())) 36 # bro.save_screenshot('./image/full_snap{}.png'.format(picture_time))#当前网页的整张截图 37 # page_snap_obj = Image.open('./image/full_snap{}.png'.format(picture_time)) 38 # return page_snap_obj 39 40 bro.save_screenshot('./image/full_snap.png') # 当前网页的整张截图 41 page_snap_obj = Image.open('./image/full_snap.png') 42 return page_snap_obj