Author Topic: Как узнать заголовок окна в заданных координатах?  (Read 2135 times)

0 Members and 1 Guest are viewing this topic.

wireshark

  • Освоившийся
  • **
  • Posts: 49
    • View Profile
Открыт браузер, содержимое периодически обновляется и меняется имя окна, в зависимости от заголовка надо выполнять, то или иное действие, заголовков много, более 10.
Сейчас использую кучу IF (WNDFIND("Please", 0) > 0), IF (WNDFIND("Password", 0) > 0) и тд, для определения, что за заголовок. Но это не очень красиво, хотелось бы получать заголовок по координатам окна. Сейчас использую на тесте:

// получение hwnd элемента
$h = hget(10, 10)
// вывод текста на элементе
print( hgettext($h) )

Это работает, но надо точно попасть в вкладку на верху с именем высотой в 30 px, если ткнуть в само окно (без дополнительных элементов управления) не зависимо от названия окна получаю "Chrome Legacy Window"
Проблемы с "прицеливанием" возникают из за того, что на разных машинах разное разрешение и положение окна браузера
« Last Edit: April 13, 2020, 12:12:47 PM by wireshark »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Проблемы с "прицеливанием" возникают из за того, что на разных машинах разное разрешение и положение окна браузера
Ну а как ты хотел. Ещё и версии могут быть разные и настройки.

Хромом почти не пользуюсь. У меня по любым координатам получается только заголовок активной вкладки.

Можно искать сначала окно хром, потом получать его координаты и/или заголовок.

Code: (clickermann) [Select]
$hwnd = WNDFIND("Google Chrome")
IF($hwnd = 0)
    LOGWRITE("окно не найдено")   
    HALT
END_IF

LOGWRITE(HGETTEXT($hwnd))

WNDGETINFO($hwnd, $chromeX, $chromeY, $var3, $var4)
LOGWRITE("Chrome X/Y  ", $chromeX, " / ", $chromeY)
//$h = hget($chromeX+10, $chromeY+5)

А блин, увидел другую тему.
Поставь какое нибудь расширение для работы с вкладками. Может там можно выбирать по имени.

P. S. Вот гугл с лёту выдаёт:
1. Открыть новую вкладку со списками всех вкладок chrome://inspect/#pages
2. Использовать расширение Quick Tabs  https://chrome.google.com/webstore/detail/quick-tabs/jnjfeinjfmenlddahdjdmgpbokiacbbb/related
Попробовал второе. Выводит списком и можно делать поиск по названию
« Last Edit: April 13, 2020, 02:23:41 PM by Vint »


wireshark

  • Освоившийся
  • **
  • Posts: 49
    • View Profile
Спасибо, за идеи, попробую получить координаты окна и по смещению найти вкладку с заголовком и получить от туда имя