我正在尝试使用readText()
函数读取给定矩形中的文本。
该功能正常运行,除非它必须读取某些带有特殊字符(例如'_&等)的文本。
我尝试将有效字符与readText()
函数一起使用。但这没有帮助。
代码-
put ReadText((287,125,810,164),validCharacters:"_-'.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890") into Login
我尝试使用字符集。但这似乎不对,因为尝试选择的文本是数字字母和特殊字符的动态文本组合。因此,无法创建一个包含每个字母(a-z, A-Z)
,numbers(0-9)
和特殊字符的字符集合库。
尝试阅读的文字示例:
Login_Userid1_1,Login'Userid1_1 那么我该如何正确阅读此类文本
答案 0 :(得分:0)
调试OCR有点不精确。 EggPlant有许多OCR Parameters可以调整。在设计测试用例时,最好尽可能使用其他机制来收集信息。当没有更可靠的方法时,应将ReadText()视为万不得已。使用它后,我经常需要进行大量的试验和错误才能找到正确的设置,并需要SearchRectangle来获得一致的结果。如果没有确切看到要尝试从中读取文本的图像,则很难甚至不可能解决问题所在。
让我感到与众不同的一件事是,您正在尝试读取可能包含下划线的字符串。 ReadText()
具有可选属性IgnoreUnderscores
,该属性将下划线视为空格。默认情况下,此属性设置为ON
。它默认为ON,因为某些OCR引擎在识别下划线字符时始终存在问题。
如果要让ReadText()处理下划线,则需要将该属性显式设置为OFF。
ReadText(rect, validCharacters:chars, ignoreUnderscores:OFF)