我有一些代码可以在屏幕键盘上查找指定的键,并在找到时单击它。我遇到了一个问题,有时候Exists
属性不存在,这使我的测试崩溃了。
function findKey(propertyName, character, shiftMode) {
var keyboard = getKeyboard()
var key = keyboard.findChild(propertyName, character, 2)
if (key.Exists) { // Crashes on this line.
keyboard.set_ShiftMode(shiftMode)
key.Click()
return true
}
return false
}
真正疯狂的事情是,当我在该行中添加断点并在检查器中检出它时,Locals检查器具有该属性,但是监视列表说该属性不存在。另外,这不是超级一致的。到目前为止,它要么发生在字符串的第一个字符,要么出现在第二个字符。
本地人
监视列表
错误日志
是什么导致该属性在某些代码情况下不存在?我以为Exists
的{{1}} is always on anything returned是这样,所以您可以知道是否返回了任何内容。
答案 0 :(得分:0)
如何改用Visible或VisibleOnScreen属性?
此外,您应该尝试记录到“关键字测试”,然后将其转换为脚本。