javascript - Exists 属性正在崩溃脚本
问题描述
我有一些代码在屏幕键盘中查找指定的键,并在找到时单击它。我遇到了一个问题,有时该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 检查器具有该属性,但 Watch List 说它不存在。此外,这不是超级一致的。到目前为止,它要么发生在字符串的第一个或第二个字符上。
当地人
观察名单
错误日志
在代码的某些情况下,什么可能导致该属性不存在?我认为这Exists
总是在专门返回的任何东西上,findChild
所以你可以知道是否有任何东西被退回。
解决方案
改用 Visible 或 VisibleOnScreen 属性怎么样?
另外,您应该尝试记录到关键字测试,然后将其转换为脚本。
推荐阅读
- angular - Angular 中 setTimeout 的替代方法
- python - pyproj FutureWarning: '+init=
: ' syntax is deprecated
- java - ANTLR4 只能解析一个类语句,不能解析整个文件
- django - Django REST Framework:自定义序列化程序变量
- c++ - C++ 宏——返回指定格式
- python - 时间转换器不工作,让我“无法将字符串转换为浮点数”
- r - 获取用于注释的行名
- javascript - Gulp watch 导致无限构建循环
- python-3.x - 我想遍历一些 IP 地址和网络,以检查 IP 是否属于特定网络
- c# - HTTPS代理实现,如何检测完成的请求