如何获取if语句来识别字符串



我有一个项目,我正在使用tesseract进行截屏,以查找输入电子邮件地址的文本框
Tesserract找到框,返回一个名为text的变量作为Send copy to email
,我可以在python中很好地打印该字符串但当我尝试在if语句中使用它时,它不会匹配
这只是我在屏幕截图中使用的测试脚本,它返回Send copy to email的保证值

我确信我在这里缺少了一些简单的东西。。。。非常感谢您的帮助

编辑 *文本[收件人/收件人]固定

import cv2
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
img = cv2.imread('C:\screeny\emailscreentest.png')
text = pytesseract.image_to_string(img)
print(text)
#As a Test I simply added this line to guarantee the string I wanted
text = 'Send copy by email'
number = 0
for number in range(1000):
if text == str('Send copy by email') :
break    # break here
print('Number is ' + str(number))
img = cv2.imread('C:\screeny\emailscreentest.png')
text = pytesseract.image_to_string(img)

print('Out of loop')

所以在有人回复之前,我找到了一个对我有效的解决方案。。。。我不知道这是正确的答案还是最好的方法。。。但它似乎可以完美地进行

import cv
import pyautogui as pg
import pytesseract
import re
#initial Screenshot-------
pg.screenshot('emailscreentest.png', region=(763,441, 125, 19))
img = cv2.imread('C:\screeny\emailscreentest.png')
text = str(pytesseract.image_to_string(img))
match= re.search("Send copy by email",text)

#Loop till screenshot match---------
number = 0
for number in range(1000):
if match :
break    # break here
#print('Number is ' + str(number))
pg.screenshot('emailscreentest.png', region=(763,441, 125, 19))
img = cv2.imread('C:\screenyemailscreentest.png')
text = pytesseract.image_to_string(img)
match= re.search("Send copy by email",text)

最新更新