与 Sikulix 匹配的 OCR 字符串指南

Guidance on OCR string matching with Sikulix

我在 excel sheet 中有 2 列,其中 A 列是一系列问题,B 列包含相应的答案。假设 A 列询问某个人的年龄,B 列以 "the age of John is 38" 等句子提供答案。这些列将导入到应用程序中,该应用程序将通过 Sikuli 自动执行。什么是利用 Sikuli 确保在询问单元格 A1 中的问题时,仅提供单元格 B1 中的答案的好方法?

首先,请记住,Sikuli 中使用的 OCR 实现至少可以说不是 100% 可靠。因此,强烈建议不惜一切代价避免使用它并尝试使用替代解决方案。例如,在许多情况下,可以 select 文本并将其复制到剪贴板。

type("c", KeyModifier.CTRL)
text = Env.getClipboard()

这显然会给你 100% 的正确识别。

根据你的问题我了解到你正在使用特定的单元格 A1 和 B1?在这种情况下,我认为您肯定可以按照上述方法进行操作。只需将 excel 列和行标题用作轴心点,并通过将位置偏移所需的像素数来找到所需的单元格。

pivotPoint = find("excelRowPattern.png")
relativeRegion = Region(pivotPoint.x + xoff, pivotPoint.y + yoff, pivotPoint.w, pivotPoint.h)

然后双击该区域并使用 Ctrl + C 复制文本。将其存储为变量并对其余单元格执行相同操作。