Нажмите на кнопку несколько раз, пока цвет не изменится на определенный c цвет в UiPath - PullRequest
3 голосов
/ 11 марта 2020

В uipath, как нажимать на кнопку по цвету несколько раз, пока цвет не изменится?

Изначально цвет кнопки красный, и я хочу нажимать на нее, пока она не станет зеленой.

Ответы [ 3 ]

1 голос
/ 12 марта 2020

В качестве альтернативы решениям, представленным другими, вы также можете использовать действие «Изображение существует» и настроить его с изображением зеленой кнопки. Наконец, все, что вам нужно сделать, это создать некоторое время l oop, которое нажимает на кнопку, пока результат действия «Изображение существует» не станет True.

Подводя итог:

  1. настроить действие «Изображение существует», чтобы найти изображение зеленой кнопки и вывести логический результат в переменную exists;
  2. создать do while l oop, которое проверяет значение переменной exists в условии;
  3. настроить действие "Клик" для нажатия кнопки;
  4. поместить действия "Клик" и "Изображение существует" внутри l oop

ПРИМЕЧАНИЕ: Вместо действия «Пока» можно также использовать действие «Повторить область действия», чтобы предотвратить бесконечное решение l oop (настроить с ограниченным числом повторных попыток).

1 голос
/ 11 марта 2020

Это полностью зависит от вашего сайта. У вас есть 3 возможности:

  1. Использовать детектор цвета
  2. Использовать атрибут стиля . В качестве примера вы можете сделать это следующим образом:

    • получить атрибут кнопки
    • проверить, содержит ли стиль зеленый цвет
    • , если не нажать кнопку снова
    • если так, то сломайте время UiPath process
  3. К сожалению, для меня нет известного способа прямого доступа к стилям без встроенный стиль. Таким образом, чтобы решить эту проблему, вам нужно написать свой C# код , чтобы достичь этого.

0 голосов
/ 11 марта 2020

Аналогично тому, что @Kwoxer сказал выше

Вы можете получить селектор для зеленой кнопки, например,

<ctrl name='my button' colour='green' />

, а затем получить универсальный селектор c, который не зависит от цвета и будет работать для кнопки все время

<ctrl name='my button' colour='*' />

, тогда вы бы сделали

while (not element exists(<ctrl name='my button' colour='green' />))
    click(<ctrl name='my button' colour='*' />)

таким образом, в то время как зеленая кнопка не не будет продолжать нажимать кнопку

...