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

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Radik [?]

  • Новичок
  • *
  • Сообщений: 68
  • Репутация: 1
    • Награды
Radik  [?]
Цитировать
массив из 100 строк
До массива вы не доходите. У вас не создаётся $oElement. Подозреваю, что "ultraGrid1" - это не имя таблицы.


Добавлено: Декабрь 05, 2017, 19:11:19
Попробуйте этот код
Код: AutoIt [Выделить]
#include <UIAutomate.au3>

$hWnd = WinActivate("Программа")
$oParent = _UIA_GetElementFromHandle($hWnd)
$oCond1 = _UIA_CreatePropertyCondition("Name", "ultraGrid1")
$oCond2 = _UIA_CreatePropertyCondition("ControlType", $UIA_TableControlTypeId)
$oCond = _UIA_CreateLogicalCondition($oCond1, "AND", $oCond2)
$oElement = _UIA_GetElementFromCondition($oParent, $oCond)
If IsObj($oElement) Then ConsoleWrite("Найден" & @CRLF)

Если напишет ошибку 0х80004005, то ничего сделать не получится. Слишком большое количество элементов в окне.

Спасибо! Помогло!

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

Re: UIAutomate - автоматизация нестандартных элементов GUI
« Ответ #285 Отправлен: Декабрь 06, 2017, 08:01:07 »

Оффлайн InnI [?]

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

  • Автор темы
  • Репутация: 979
    • Награды
  • Версия AutoIt: 3.3.14.0
Убрал лишнее создание объекта UIAutomation в функции _UIA_FindAllElements (соответственно и вывод ошибки).
Версию не менял.

Оффлайн Hikari [?]

  • Новичок
  • *
  • Сообщений: 22
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Inni, в функции _UIA_FindAllElements создается по два объекта для каждой ссылки
Вот простенький код для проверки в уже запущенном браузере с нужными ключами
Код: AutoIt [Выделить]
Func Check()
MsgBox(0,"","check")
;WaitFullLoad()
Local $testarray = _UIA_FindAllElements($BROWSER,"ControlType",50005)
For $in = 1 to $testarray[0]
MsgBox(0,"",_UIA_ElementGetPropertyValue($testarray[$in],"Name"))
Next



EndFunc
 

на любом html-файле(даже на составленном мной лично) выдает по два раза каждую ссылку

Оффлайн InnI [?]

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

  • Автор темы
  • Репутация: 979
    • Награды
  • Версия AutoIt: 3.3.14.0
Hikari  [?]
Цитировать
создается по два объекта для каждой ссылки
Искать нужно не от главного окна, а от элемента отображения страницы
Код: AutoIt [Выделить]
$BROWSER = _UIA_GetElementFromHandle(ControlGetHandle("[RegexpTitle: - Opera]", "", "Chrome_RenderWidgetHostHWND1"))
Check()


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

Re: UIAutomate - автоматизация нестандартных элементов GUI
« Ответ #288 Отправлен: Январь 14, 2018, 20:37:31 »

Оффлайн Hikari [?]

  • Новичок
  • *
  • Сообщений: 22
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Скажите, пожалуйста, как сделать функцию , которая будет дожидаться полной прогрузки страницы в браузере?

Оффлайн InnI [?]

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

  • Автор темы
  • Репутация: 979
    • Награды
  • Версия AutoIt: 3.3.14.0
Если содержимое страницы известно, то ждать последнего элемента. В противном случае, можно отслеживать изменения кнопки "обновить/остановить" в панели браузера.

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

Re: UIAutomate - автоматизация нестандартных элементов GUI
« Ответ #290 Отправлен: Январь 15, 2018, 17:41:03 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
0 Ответов
75212 Просмотров
Последний ответ Сентябрь 22, 2010, 22:13:33
от CreatoR
18 Ответов
13272 Просмотров
Последний ответ Сентябрь 18, 2011, 20:49:26
от Zalman1980
9 Ответов
5370 Просмотров
Последний ответ Март 12, 2012, 00:33:05
от cobra2029
0 Ответов
1941 Просмотров
Последний ответ Май 07, 2012, 15:00:44
от Dedullika
18 Ответов
4820 Просмотров
Последний ответ Октябрь 17, 2012, 00:07:30
от Kaster
0 Ответов
1968 Просмотров
Последний ответ Декабрь 02, 2012, 10:15:22
от madmasles
6 Ответов
3373 Просмотров
Последний ответ Декабрь 10, 2012, 11:30:14
от Zergii
3 Ответов
1930 Просмотров
Последний ответ Декабрь 21, 2014, 19:24:21
от brain
8 Ответов
2280 Просмотров
Последний ответ Ноябрь 26, 2015, 17:54:56
от Garrett
22 Ответов
2423 Просмотров
Последний ответ Июнь 09, 2017, 01:12:34
от Alofa