Автор Тема: Вывод названий вкладок Chrome - для двух окон  (Прочитано 382 раз)

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

Эта тема содержит сообщение, помеченное как лучший ответ. Кликните здесь для перехода к этому сообщению.

Оффлайн perven1 [?]

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

Пытаюсь заставить скрипт выводить названия вкладок браузера Chrome - для двух окон.
В одном окне 50 вкладок, в другом 30 вкладок.
Скрипт - определяет общее число вкладок = 80 (то есть определяет правильно).
Но вот названия - выводит только для одного из окон.
(Или может бы они просто на окне не умещаются, уходят куда-то вниз "за кадр").

Подскажите - как заставить скрипт отображать все названия вкладок браузера Chrome ?
(То есть не только для одного окна Chrome, а для всех)
(нажмите для показа/скрытия)



Внимание: Для просмотра прикреплённых файлов необходимо Войти или Зарегистрироваться

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

Вывод названий вкладок Chrome - для двух окон
« Отправлен: Октябрь 16, 2017, 14:08:24 »

Оффлайн Tempo [?]

  • Осваивающий
  • **
  • Сообщений: 106
  • Репутация: 25
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Вывод названий вкладок Chrome - для двух окон
« Ответ #1, Отправлен: Октябрь 16, 2017, 14:19:14 »
заставить скрипт выводить названия вкладок браузера Chrome - для двух окон.

Код: AutoIt [Выделить]
#include "UIAutomate.au3" ; http://autoit-script.ru/index.php?topic=16780.0
Opt("WinTitleMatchMode", -2)

Global $aWnds = WinList(" - Google Chrome"), $iCount, $oParent, $aTabs, $sTabs
If Not IsArray($aWnds) Then Exit MsgBox(262144, "Ошибка", "Не найдено окно Google Chrome")

For $i = 1 To $aWnds[0][0]
    $oParent = _UIA_GetElementFromHandle($aWnds[$i][1])
    $aTabs = _UIA_FindAllElements($oParent, "ControlType", $UIA_TabItemControlTypeId)
    If @error Then Exit MsgBox(262144, "Ошибка", "Вкладки не найдены")
    For $j = 1 To $aTabs[0]
        $sTabs &= _UIA_ElementGetPropertyValue($aTabs[$j], $UIA_NamePropertyId) & @CRLF & @CRLF
    Next
    $iCount += $aTabs[0]
Next

MsgBox(262144, "", "Количество вкладок: " & $iCount & @CRLF & @CRLF & "Названия вкладок: " & @CRLF & @CRLF & $sTabs)


Оффлайн perven1 [?]

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

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Вывод названий вкладок Chrome - для двух окон
« Ответ #2, Отправлен: Октябрь 16, 2017, 14:31:22 »
Подскажите, как сделать это окно со вкладками сделать вмещающимся в экран (с прокруткой).
Потому что его - просмотреть  невозможно - окно уходит куда-то за горизонт.

Помечен как лучший ответ пользователем perven1 Отправлен Октябрь 16, 2017, 14:52:20

Оффлайн Tempo [?]

  • Осваивающий
  • **
  • Сообщений: 106
  • Репутация: 25
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Вывод названий вкладок Chrome - для двух окон
« Ответ #3, Отправлен: Октябрь 16, 2017, 14:41:09 »
окно уходит куда-то за горизонт.

Код: AutoIt [Выделить]
#include <GuiConstants.au3>
#include <EditConstants.au3>
#include "UIAutomate.au3" ; http://autoit-script.ru/index.php?topic=16780.0
Opt("WinTitleMatchMode", -2)

Global $aWnds = WinList(" - Google Chrome"), $iCount, $oParent, $aTabs, $sTabs
If Not IsArray($aWnds) Then Exit MsgBox(262144, "Ошибка", "Не найдено окно Google Chrome")

For $i = 1 To $aWnds[0][0]
    $oParent = _UIA_GetElementFromHandle($aWnds[$i][1])
    $aTabs = _UIA_FindAllElements($oParent, "ControlType", $UIA_TabItemControlTypeId)
    If @error Then Exit MsgBox(262144, "Ошибка", "Вкладки не найдены")
    For $j = 1 To $aTabs[0]
        $sTabs &= _UIA_ElementGetPropertyValue($aTabs[$j], $UIA_NamePropertyId) & @CRLF & @CRLF
    Next
    $iCount += $aTabs[0]
Next

GUICreate("", 400, 600)
GUICtrlCreateEdit("Количество вкладок: " & $iCount & @CRLF & @CRLF & @CRLF & "Названия вкладок: " & @CRLF & @CRLF & $sTabs, 5, 5, 390, 590, BitOR($WS_VSCROLL, $WS_HSCROLL, $ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_READONLY))
GUICtrlSendMsg(-1, $EM_LIMITTEXT, -1, 0)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetState(-1, $GUI_FOCUS)
GUISetState()

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE


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

Re: Вывод названий вкладок Chrome - для двух окон
« Ответ #3 Отправлен: Октябрь 16, 2017, 14:41:09 »

Оффлайн perven1 [?]

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

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Вывод названий вкладок Chrome - для двух окон
« Ответ #4, Отправлен: Октябрь 16, 2017, 14:52:14 »
Теперь все работает.  Спасибо вам большое.

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

Re: Вывод названий вкладок Chrome - для двух окон
« Ответ #4 Отправлен: Октябрь 16, 2017, 14:52:14 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
24 Ответов
12641 Просмотров
Последний ответ Октябрь 20, 2009, 23:51:27
от Alexey
4 Ответов
2652 Просмотров
Последний ответ Февраль 18, 2011, 17:59:21
от e-Mike
7 Ответов
3398 Просмотров
Последний ответ Январь 29, 2012, 02:31:14
от black1
1 Ответов
3300 Просмотров
Последний ответ Октябрь 26, 2012, 09:21:24
от madmasles
1 Ответов
2251 Просмотров
Последний ответ Февраль 17, 2014, 17:45:15
от inververs
2 Ответов
1419 Просмотров
Последний ответ Апрель 08, 2014, 18:25:13
от N4rk0z34
1 Ответов
1429 Просмотров
Последний ответ Июнь 02, 2014, 12:23:52
от WSWR
3 Ответов
508 Просмотров
Последний ответ Октябрь 06, 2017, 20:35:45
от Garrett
3 Ответов
473 Просмотров
Последний ответ Октябрь 09, 2017, 19:42:08
от perven1
4 Ответов
496 Просмотров
Последний ответ Октябрь 24, 2017, 23:16:26
от perven1