Автор Тема: UIAutomate - автоматизация нестандартных элементов GUI  (Прочитано 102556 раз)

sngr, alberts1972 и 2 Гостей просматривают эту тему.

Онлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 4013

  • Автор темы
  • Репутация: 1065
    • Награды
  • Версия AutoIt: 3.3.14.0
vyatdima  [?]
Цитировать
не хочет на 57 (и выше)
На данный момент я знаю только один способ - это перевести Firefox в однопроцессный режим:
- перейти в расширенные настройки (в строке адреса ввести about:config[enter])
- подтвердить внесение изменений (нажать кнопку "Я принимаю на себя риск!")
- найти параметр browser.tabs.remote.autostart (можно ввести в строку поиска)
- двойным кликом по имени параметра переключить его значение в false
- перезапустить Firefox (теперь в диспетчере задач должен быть один процесс firefox.exe)

Если в настройках есть расширения указанного выше параметра с цифрами на конце, например
browser.tabs.remote.autostart.1
browser.tabs.remote.autostart.2

и т.д., то их все нужно переключить в false и перезапустить браузер.

Русское сообщество AutoIt

Re: UIAutomate - автоматизация нестандартных элементов GUI
« Ответ #315 Отправлен: Январь 25, 2019, 11:21:56 »

Онлайн alberts1972 [?]

  • Новичок
  • *
  • Сообщений: 9
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Как нажать такую кнопку.
Выдержка из Inspect
(нажмите для показа/скрытия)
Перебор  массива из родителя "(УДАЛЕН) Исходящий - черновик - IBM Lotus Notes" не находится.

Онлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 4013

  • Автор темы
  • Репутация: 1065
    • Награды
  • Версия AutoIt: 3.3.14.0
alberts1972  [?]
Цитировать
Как нажать такую кнопку
Не проверял! См. ошибки в консоле SciTE
Код: AutoIt [Выделить]
#include <UIAutomate.au3>

$oParent = _UIA_GetElementFromHandle(WinGetHandle("(УДАЛЕН) Исходящий"))
$oButton = _UIA_GetControlTypeElement($oParent, "UIA_ButtonControlTypeId", "Внутренний")
_UIA_ElementDoDefaultAction($oButton)


Онлайн alberts1972 [?]

  • Новичок
  • *
  • Сообщений: 9
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
alberts1972  [?]
Цитировать
Как нажать такую кнопку
Не проверял! См. ошибки в консоле SciTE
Код: AutoIt [Выделить]
#include <UIAutomate.au3>

$oParent = _UIA_GetElementFromHandle(WinGetHandle("(УДАЛЕН) Исходящий"))
$oButton = _UIA_GetControlTypeElement($oParent, "UIA_ButtonControlTypeId", "Внутренний")
_UIA_ElementDoDefaultAction($oButton)

Кнопка не нажимается.



Код: AutoIt [Выделить]
#include "UIAutomate.au3"
$handle=WinActivate ("Исходящий - редактирование - IBM Lotus Notes")

    $oParent = _UIA_GetElementFromHandle($handle)
    $aA1 = _UIA_FindAllElements($oParent)
    $aA2 = _UIA_FindElementsinArray($aA1,"Name","Лист рассылки")
    _UIA_ElementDoDefaultAction($aA2[1])

    $oParent = _UIA_GetElementFromHandle(WinGetHandle("Исходящий - редактирование"))
    $oButton = _UIA_GetControlTypeElement($oParent, "UIA_ButtonControlTypeId", "Внутренний")
    _UIA_ElementDoDefaultAction($oButton)


На вкладку "Лист рассылки" получается нажать. А на кнопку нет.

Данные по кнопке утилитой Inspect
(нажмите для показа/скрытия)
При пользовании утилитой Inspect при наведении мышкой на кнопку на правой панели окна Inspect  показывает данные, которые я выложил выше (см. спойлер), а вот на левом панели не показывает, где объект кнопка распологается, в каком положении в дереве объектов находиться. Например объект вкладка "Лист рассылки" показывает.


Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться
« Последнее редактирование: Сегодня в 10:50:03 от alberts1972 »

Русское сообщество AutoIt

Re: UIAutomate - автоматизация нестандартных элементов GUI
« Ответ #318 Отправлен: Сегодня в 06:39:29 »

Онлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 4013

  • Автор темы
  • Репутация: 1065
    • Награды
  • Версия AutoIt: 3.3.14.0
alberts1972  [?]
Цитировать
А на кнопку нет.
Какие-нибудь ошибки в консоль SciTE выводятся?
Попробуйте заменить _UIA_ElementDoDefaultAction() на _UIA_ElementMouseClick()

Онлайн alberts1972 [?]

  • Новичок
  • *
  • Сообщений: 9
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Стесняюсь спросить что за консоль SciTe. А так ошибок нет. В коде , где идёт нажатие на вкладку "Лист рассылки" функция _UIA_ElementMouseClick не срабатывает а срабатывает  _UIA_ElementDoDefaultAction. Почему так?
И почему на левой панеле Inspect не показывает где объект вложен. Это происходит именно с кнопками. 
Сейчас проверить не могу, завтра только, но что то берут сомнения что получится.

Онлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 4013

  • Автор темы
  • Репутация: 1065
    • Награды
  • Версия AutoIt: 3.3.14.0
alberts1972  [?]
Цитировать
что за консоль SciTe
Вы скрипт в редакторе SciTE набираете? Если да, то по нажатию F5 скрипт запустится и в нижней части редактора откроется панель (консоль). При наличии ошибок в эту панель будут выводиться сообщения с префиксом !> , именем функции и описанием проблемы.

Цитировать
функция _UIA_ElementMouseClick не срабатывает а срабатывает  _UIA_ElementDoDefaultAction. Почему так?
Не знаю. Нужно смотреть дерево элементов и ошибки в консоли.

Цитировать
почему на левой панеле Inspect не показывает где объект вложен
Встречал я такие элементы. Они определяются только фокусировкой или наведением курсора мыши, а через поиск по дереву не находятся. Это особенность работы конкретного контейнера (окна), содержащего данный элемент.

Русское сообщество AutoIt

Re: UIAutomate - автоматизация нестандартных элементов GUI
« Ответ #321 Отправлен: Сегодня в 15:26:28 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
0 Ответов
116484 Просмотров
Последний ответ Сентябрь 22, 2010, 22:13:33
от CreatoR
18 Ответов
14337 Просмотров
Последний ответ Сентябрь 18, 2011, 20:49:26
от Zalman1980
0 Ответов
2132 Просмотров
Последний ответ Май 07, 2012, 15:00:44
от Dedullika
18 Ответов
5314 Просмотров
Последний ответ Октябрь 17, 2012, 00:07:30
от Kaster
0 Ответов
2193 Просмотров
Последний ответ Декабрь 02, 2012, 10:15:22
от madmasles
6 Ответов
3763 Просмотров
Последний ответ Декабрь 10, 2012, 11:30:14
от Zergii
3 Ответов
2226 Просмотров
Последний ответ Декабрь 21, 2014, 19:24:21
от brain
8 Ответов
2738 Просмотров
Последний ответ Ноябрь 26, 2015, 17:54:56
от Garrett
22 Ответов
3485 Просмотров
Последний ответ Июнь 09, 2017, 01:12:34
от Alofa
4 Ответов
821 Просмотров
Последний ответ Октябрь 16, 2018, 22:32:05
от Visors