yqchilde / JDMemberCloseAccount

学习python操作selenium的一个🌰 ,也是一种京东全自动退会方案
MIT License
1.24k stars 346 forks source link

关于IOS端桌面ocr识别,我这样设置是可以准确无误的长时间运行 #32

Closed ghost closed 3 years ago

ghost commented 3 years ago

在获取ocr前先暂停几秒,等待先收到短信再识别。

image

image

image

因为IOS端是没法像安卓端会单独显示验证码,有时候验证码位置并不完全会固定一个位置,所以把。也识别了,后面再删除掉。

实测是没多大问题。

bluewatercg commented 3 years ago

不用等待15秒 做个数组存放已经识别的验证码

如果该验证码已经被使用,等待1秒重新请求

                        while sms_code in sms_code_used:
                            sms_code = self.baidu_ocr.baidu_ocr(_range)
                            if(sms_code not in sms_code_used) :
                                sms_code_used.append(sms_code)
                                break
bluewatercg commented 3 years ago

第二个问题 大佬最新的代码应该已经更新了 或者你可以把截屏设置成一条完整短息的高度,通过 re.findall(r'([\d]{6})[\u3002]', words["words"])来判断是否是6位数字,

yqchilde commented 3 years ago

@adw2s 新版已解决匹配句号问题,可以将截取范围扩大到整条短信的范围或者是一个窗口的短信,推荐一条短信的完整区域 img