Свойство Exists сбой скрипта - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть код, который ищет указанную клавишу на экранной клавиатуре и щелкает ее, когда найден. Я сталкиваюсь с проблемой, когда иногда свойство 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 говорит, что его не существует. Кроме того, это не супер согласованно. Пока что это произошло с первым или вторым символом в строке.

Местные жители

Locals

Список наблюдения

Watch List

Журнал ошибок

Error Log

Что может быть причиной того, что свойство не существует в некоторых ситуациях кода? Я думал, что Exists всегда находится на чем-либо, возвращенном на findChild специально, чтобы вы могли знать, было ли что-нибудь возвращено.

1 Ответ

0 голосов
/ 02 апреля 2019

А как насчет использования свойств Visible или VisibleOnScreen вместо этого?

Кроме того, вы должны попытаться выполнить запись в KeyWord Test, а затем преобразовать его в сценарий.

...