Автор Тема: Как узнать что на странице Chrome что-то нашлось после Cntrk+f  (Прочитано 1141 раз)

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

Оффлайн dr.room [?]

  • Новичок
  • *
  • Сообщений: 268
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Всем привет
Ищу на странице Chrome, используя Cntrl+f. Добавляю текст в поле ввода - для поиска. Как можно узнать  с помощью Autoit - что поиском что-то найдено т.е. не 0/0
Спасибо

Дополнено
Упустил из виду. Если напротив - ничего не нашлось: тоже вариант. получить бы и об этом сообщение от Autoit
« Последнее редактирование: Октябрь 24, 2017, 01:56:39 от dr.room »
Если бы один пример - было бы волшебно...для новичка

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


Помечен как лучший ответ пользователем dr.room Отправлен Октябрь 25, 2017, 21:36:43

Оффлайн gunter123 [?]

  • Осваивающий
  • **
  • Сообщений: 109
  • Репутация: 40
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Код: AutoIt [Выделить]
#include "UIAutomate.au3"       ;    http://autoit-script.ru/index.php?topic=16780.0

$hWnd = WinActivate("[REGEXPTITLE:.*Google Chrome]")
if @error Then Exit MsgBox(4096, "Ошибка", "Окно не найдено")

$oParent = _UIA_GetElementFromHandle($hWnd)

$oElement = _UIA_GetControlTypeElement($oParent, "UIA_EditControlTypeId", "Найти")
If @error Then Exit MsgBox(4096, "Ошибка", "Строка поиска не отображается")
$oElement = _UIA_ElementGetPreviousNext($oElement)[1]

While 1

   $sValue = _UIA_ElementGetPropertyValue($oElement, "Name")
   If $sValue <> "0/0" Then
      MsgBox(4096, "", $sValue)
   EndIf
   Sleep(200)
   
WEnd

« Последнее редактирование: Октябрь 25, 2017, 10:30:39 от gunter123, Причина: исправил »
Is it future or is it past?

Оффлайн dr.room [?]

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

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Фантастика! Спасибо!
Мне пару  моментов только не понятны, если можно, уточните что означают:
  • REGEXPTITLE
  • [1]
  • "Name"
Спасибо!



 

Оффлайн gunter123 [?]

  • Осваивающий
  • **
  • Сообщений: 109
  • Репутация: 40
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
 :)
Код: AutoIt [Выделить]
WinActivate("[REGEXPTITLE:.*Google Chrome]")  ; Активирует окно, в названии которого есть строка "Google Chrome"
_UIA_ElementGetPreviousNext($oElement)[1]    ;  Эта функция возвращает массив, в котором первый элемент - предыдущий от указанного, а второй - следующий за указанным элементом. Поскольку нам нужен следующий элемент, мы обращаемся сразу ко второму элементу массива, возвращенного функцией
_UIA_ElementGetPropertyValue($oElement, "Name")  ; Возвращает свойство Name указанного элемента. В данном случае, в свойстве Name хранится нужная нам строка


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

Re: Как узнать что на странице Chrome что-то нашлось после Cntrk+f
« Ответ #3 Отправлен: Октябрь 26, 2017, 09:50:55 »

Оффлайн dr.room [?]

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

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Здравствуйте!
Кажется я начинаю что-то понимать. Спасибо
Я попробовал проанализировать, вот что вышло:
Код: AutoIt [Выделить]
$oElement = _UIA_ElementGetPreviousNext($oElement)[1]
 

Определяет соседний элемент, от текущего: того-же уровня. но следующего за ним т.е. расположенного физически за ним
Но что указывает на то что это элементы общего уровня? Возможно учитывается уровень по оси Z ?
Код: AutoIt [Выделить]
   $sValue = _UIA_ElementGetPropertyValue($oElement, "Name")
 

Параметр Name это некий универсальный ключ, применяющейся если свойство объекта не указывается точно? Возможно  - свойство не известно. Зато Name позволяет преобразовать Autoit-ом свойство в id. А раз так - id будет известно Autoit
Но если так, вовсе не обязательно указывать в коде само значение: я проверил - скрипт работает!
Код: AutoIt [Выделить]
; до
   If $sValue <> "0/0" Then
; после
   If $sValue <> "" Then
 

И поставит ExitLoop после MsgBox  - иначе окно ни в жизнь не закроется  :)

PS
Если что не так- заранее извиняюсь я не фокусник - я только учусь не программист  :)

« Последнее редактирование: Октябрь 27, 2017, 00:39:28 от dr.room »

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

Re: Как узнать что на странице Chrome что-то нашлось после Cntrk+f
« Ответ #4 Отправлен: Октябрь 27, 2017, 00:17:43 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
10 Ответов
4596 Просмотров
Последний ответ Сентябрь 02, 2011, 19:24:11
от hohmuch
0 Ответов
1705 Просмотров
Последний ответ Январь 12, 2013, 08:49:55
от mousekey
1 Ответов
753 Просмотров
Последний ответ Ноябрь 27, 2015, 06:23:06
от Sln
9 Ответов
2925 Просмотров
Последний ответ Июль 17, 2016, 18:29:48
от dr.room
3 Ответов
325 Просмотров
Последний ответ Февраль 21, 2018, 13:18:29
от hedji
8 Ответов
1080 Просмотров
Последний ответ Апрель 05, 2018, 15:45:32
от dr.room
0 Ответов
350 Просмотров
Последний ответ Апрель 05, 2018, 16:07:44
от dr.room
3 Ответов
319 Просмотров
Последний ответ Июнь 20, 2018, 19:00:41
от dr.room
7 Ответов
348 Просмотров
Последний ответ Июнь 28, 2018, 13:48:30
от InnI
1 Ответов
90 Просмотров
Последний ответ Июль 13, 2018, 19:46:32
от Tempo