我想突出显示一个窗口,并找到图像中的文本,并获得其坐标。我们如何通过空手道UI和空手道机器人来做到这一点。
这个问题以前没有出现过,所以需要做一些研究。我将尝试在下面提供一些提示,但这可能需要具有Java和Windows API知识的人来理解。
首先,参考文档:https://github.com/karatelabs/karate/tree/master/karate-robot
在幕后,空手道机器人正在使用Windows API: https://learn.microsoft.com/en-us/windows/win32/winauto/entry-uiauto-win32
并参考Element
实现:https://github.com/karatelabs/karate/blob/v1.3.1/karate-robot/src/main/java/com/intuit/karate/robot/win/WinElement.java
如果我没记错的话,您应该能够调用element.property('')
并获得您想要的值。
下面是所有属性的参考:https://github.com/karatelabs/karate/blob/v1.3.1/karate-robot/src/main/java/com/intuit/karate/robot/win/Property.java
所以也许这将工作(我没有尝试):
* def e = locate('locator')
* def rect = e.property(30001)
我想这会让你得到这个:https://learn.microsoft.com/en-us/windows/win32/api/uiautomationcore/ns-uiautomationcore-uiarect
我不知道如何得到的值,也许rect.left
等将工作,或者它可能是一个JSON。如果你或你的团队可以在需要的时候为代码和文档做出贡献,那就太好了。