Автор Тема: нажатие через Inspect  (Прочитано 183 раз)

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

Оффлайн saraconor [?]

  • Новичок
  • *
  • Сообщений: 303
  • Репутация: 1
  • Пол: Женский
    • Награды
нажатие через Inspect
« Создано: Март 12, 2019, 14:39:24 »
Пытаюсь разобраться с управлением (из этой темы: http://autoit-script.ru/index.php?topic=16780.msg147184#msg147184)

Код: AutoIt [Выделить]
#include "UIAutomate.au3"

Run("C:\Windows\system32\notepad.exe")
$hWnd = WinWait("[class:Notepad]", "", 10)
If Not $hWnd Then Exit

$oParent = _UIA_GetElementFromHandle($hWnd)

$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Шрифт...")
_UIA_ElementMouseClick($oElement)



пытаюсь нажать на этот пункт меню, выдает ошибку:
!> _UIA_GetControlTypeElement : значение указанного свойства найденных элементов не соответствует заданному
!> _UIA_ElementMouseClick : первый параметр не является объектом

Помогите? идентификатор что-ли не верный, нажатие на кнопку "Формат" срабатывает но как-то странно (меню открывается и тут-же схлопывается), и мышь убегает, можно как-нибудь сделать чтобы мышь не двигалась, как это происходит с ControlClick ?

Кажется найдено решение (последовательное нажатие):
Код: AutoIt [Выделить]
#include "UIAutomate.au3"

;~ Run("C:\Windows\system32\notepad.exe",'', @SW_HIDE)
Run("C:\Windows\system32\notepad.exe")
$hWnd = WinWait("[class:Notepad]", "", 10)
If Not $hWnd Then Exit

$oParent = _UIA_GetElementFromHandle($hWnd)

$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Формат")
_UIA_ElementDoDefaultAction($oElement)

$oElement = _UIA_GetControlTypeElement($oParent, "UIA_MenuItemControlTypeId", "Шрифт...")
_UIA_ElementDoDefaultAction($oElement)
;~ winsetstate("[class:Notepad]", '', @SW_SHOW)


Попытка запустить программу в хайде провалилась  ;D
« Последнее редактирование: Март 12, 2019, 15:01:18 от saraconor »

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

нажатие через Inspect
« Отправлен: Март 12, 2019, 14:39:24 »

Оффлайн Khaibit [?]

  • Новичок
  • *
  • Сообщений: 78
  • Репутация: 16
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.6.1
Re: нажатие через Inspect
« Ответ #1, Отправлен: Март 12, 2019, 15:58:01 »
Код: AutoIt [Выделить]
Run("C:\Windows\system32\notepad.exe")
$hWnd = WinWait("[class:Notepad]", "", 10)
If Not $hWnd Then Exit
WinMenuSelectItem($hWnd, '', 'Фор&мат', '&Шрифт')


Оффлайн saraconor [?]

  • Новичок
  • *
  • Сообщений: 303

  • Автор темы
  • Репутация: 1
  • Пол: Женский
    • Награды
Re: нажатие через Inspect
« Ответ #2, Отправлен: Март 12, 2019, 17:36:21 »
Код: AutoIt [Выделить]
Run("C:\Windows\system32\notepad.exe")
$hWnd = WinWait("[class:Notepad]", "", 10)
If Not $hWnd Then Exit
WinMenuSelectItem($hWnd, '', 'Фор&мат', '&Шрифт')

С Адоб Акробатом это работать не хочет.

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

Re: нажатие через Inspect
« Ответ #2 Отправлен: Март 12, 2019, 17:36:21 »

Оффлайн ЭйчЭйч [?]

  • Сообщений: 119
  • Репутация: -6
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: нажатие через Inspect
« Ответ #3, Отправлен: Март 13, 2019, 12:04:17 »
Код: AutoIt [Выделить]
Run("C:\Windows\system32\notepad.exe")
$hWnd = WinWait("[class:Notepad]", "", 10)
If Not $hWnd Then Exit
WinMenuSelectItem($hWnd, '', 'Фор&мат', '&Шрифт')

С Адоб Акробатом это работать не хочет.
И не должно. Было бы странно, будь наоборот.

Оффлайн Khaibit [?]

  • Новичок
  • *
  • Сообщений: 78
  • Репутация: 16
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.6.1
Re: нажатие через Inspect
« Ответ #4, Отправлен: Март 13, 2019, 16:08:22 »
И не должно. Было бы странно, будь наоборот.
Ну и где твой вариант решения? как обычно лишь извергание своего мнения, было бы странно, будь наоборот.

В первом сообщении ни слова про adobe, в примере речь шла про notepad.
Вариант:
Код: AutoIt [Выделить]
#include <WinAPI.au3>
#include <WindowsConstants.au3>
$hadle = WinGetHandle('Adobe Acrobat Reader DC')
_WinAPI_PostMessage($hadle, $WM_COMMAND, 6151, 0); меняем тему на темную - например


6151 - это id пункта который можно увидеть через тот же Inspect > AutomationId

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

Re: нажатие через Inspect
« Ответ #4 Отправлен: Март 13, 2019, 16:08:22 »

Оффлайн ЭйчЭйч [?]

  • Сообщений: 119
  • Репутация: -6
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: нажатие через Inspect
« Ответ #5, Отправлен: Март 13, 2019, 16:44:53 »
И не должно. Было бы странно, будь наоборот.
Ну и где твой вариант решения? как обычно лишь извергание своего мнения, было бы странно, будь наоборот.

В первом сообщении ни слова про adobe, в примере речь шла про notepad.
OffTopicИзвергнул мнение только ты, а я дал информацию, что ошибки в коде нет, но тебе это невдомек, потому что ты даже изъясняешься, сам себе противореча, требуя от меня решение, и тут же пишешь, что исходных данных нет. :rofl:

Оффлайн Khaibit [?]

  • Новичок
  • *
  • Сообщений: 78
  • Репутация: 16
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.6.1
Re: нажатие через Inspect
« Ответ #6, Отправлен: Март 13, 2019, 16:54:11 »
.... требуя от меня решение, и тут же пишешь, что исходных данных нет.
Данных не было на момент моего первого ответа, когда ты строчил свой уже было известно что речь про adobe.
Ну так блесни знаниями, предложи свой вариант.

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

Re: нажатие через Inspect
« Ответ #6 Отправлен: Март 13, 2019, 16:54:11 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
0 Ответов
3917 Просмотров
Последний ответ Октябрь 19, 2009, 00:59:43
от Yashied
4 Ответов
3741 Просмотров
Последний ответ Декабрь 06, 2009, 14:05:04
от Kaster
9 Ответов
13290 Просмотров
Последний ответ Май 20, 2010, 17:51:50
от Detka.i.alex
3 Ответов
3551 Просмотров
Последний ответ Июнь 03, 2010, 12:27:05
от Yuriy
3 Ответов
5425 Просмотров
Последний ответ Февраль 11, 2011, 01:34:54
от `p r o x y
3 Ответов
5496 Просмотров
Последний ответ Декабрь 28, 2011, 20:55:38
от vadimkou
1 Ответов
3594 Просмотров
Последний ответ Апрель 04, 2012, 20:37:43
от madmasles
0 Ответов
1124 Просмотров
Последний ответ Февраль 08, 2014, 17:19:10
от madmasles
5 Ответов
2165 Просмотров
Последний ответ Ноябрь 18, 2018, 10:35:02
от gagarin74
1 Ответов
746 Просмотров
Последний ответ Апрель 20, 2016, 14:55:50
от Alofa