Автор Тема: Как прочитать текущую страницу в Chrome  (Прочитано 942 раз)

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

Оффлайн astanid [?]

  • Новичок
  • *
  • Сообщений: 38
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Как получить адрес текущей страницы в Chrome чтобы ее прочитать и распарсить ?
Вот так например можно получить адрес из адресной строки, но страница формируется динамически и просто по адресу ее читать бесполезно.
Код: AutoIt [Выделить]
; Поиск строки адреса и клик по ней
$oElement = _UIA_GetControlTypeElement($oParent, "UIA_EditControlTypeId", "Address and search bar")

_UIA_ElementMouseClick($oElement)
sleep(100)
Send("^c")
$url = ClipGet()
_dbg($url)



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

Как прочитать текущую страницу в Chrome
« Отправлен: Декабрь 29, 2016, 15:08:12 »

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3295
  • Репутация: 865
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Как прочитать текущую страницу в Chrome
« Ответ #1, Отправлен: Декабрь 30, 2016, 20:11:31 »
astanid
Получить текст страницы можно так
Код: AutoIt [Выделить]
#include <UIAutomate.au3>

$oParent = _UIA_GetElementFromHandle(ControlGetHandle("[RegexpTitle:Google Chrome]", "", "Chrome_RenderWidgetHostHWND1"))
$aElements = _UIA_FindAllElements($oParent, "ControlType", $UIA_TextControlTypeId)
ConsoleWrite("Найдено элементов: " & $aElements[0] & @CRLF)
For $i = 1 To $aElements[0]
  ConsoleWrite(_UIA_ElementGetPropertyValue($aElements[$i], "Name") & @CRLF)
Next

Или так
Код: AutoIt [Выделить]
WinActivate("[RegexpTitle:Google Chrome]")
Send("^a")
Send("^c")
ConsoleWrite(ClipGet() & @CRLF)


Получить код страницы можно так
Код: AutoIt [Выделить]
WinActivate("[RegexpTitle:Google Chrome]")
Send("^u")
Sleep(300)
Send("^a")
Send("^c")
ConsoleWrite(ClipGet() & @CRLF)


При использовании Send() раскладка клавиатуры должна быть английская.

Оффлайн astanid [?]

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

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Как прочитать текущую страницу в Chrome
« Ответ #2, Отправлен: Январь 01, 2017, 04:23:57 »
к сожалению,  я недостаточно точно выразился :) нужен именно код страницы, а не ее текст.
без кода что-то распарсить и найти нужные элементы несколько сложно...

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3295
  • Репутация: 865
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Как прочитать текущую страницу в Chrome
« Ответ #3, Отправлен: Январь 02, 2017, 14:11:11 »
astanid
Цитировать
нужен именно код страницы
InnI
Цитировать
Получить код страницы можно так
Не работает?

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

Re: Как прочитать текущую страницу в Chrome
« Ответ #3 Отправлен: Январь 02, 2017, 14:11:11 »

Оффлайн astanid [?]

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

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Как прочитать текущую страницу в Chrome
« Ответ #4, Отправлен: Январь 02, 2017, 16:20:45 »
прошу прощенья. прочитал невнимательно :(
Код: AutoIt [Выделить]
WinActivate("[RegexpTitle:Google Chrome]")
Send("^u")
Sleep(500)
Send("^a")
Send("^c")
$html=ClipGet()
ConsoleWrite($html)
Send("^w")

примерно так же медленно как и сохранять страницу на диск :(
более того очень нестабильно работает. страница кода открывается достаточно долго (как будто заново закачивается) - просто пауза плохое решение. нужно как то дождаться загрузки всей страницы с кодом - не могу придумать как это сделать.

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

Re: Как прочитать текущую страницу в Chrome
« Ответ #4 Отправлен: Январь 02, 2017, 16:20:45 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
2 Ответов
3756 Просмотров
Последний ответ Июнь 01, 2011, 23:43:07
от shakur
10 Ответов
4107 Просмотров
Последний ответ Сентябрь 02, 2011, 19:24:11
от hohmuch
3 Ответов
2405 Просмотров
Последний ответ Апрель 13, 2012, 18:42:29
от madmasles
10 Ответов
4660 Просмотров
Последний ответ Октябрь 08, 2012, 17:07:16
от evgen_vasgen
3 Ответов
2781 Просмотров
Последний ответ Декабрь 05, 2012, 22:53:19
от akmal18
3 Ответов
708 Просмотров
Последний ответ Октябрь 27, 2015, 21:42:01
от Yashied
1 Ответов
568 Просмотров
Последний ответ Ноябрь 27, 2015, 06:23:06
от Sln
0 Ответов
483 Просмотров
Последний ответ Март 07, 2016, 01:52:34
от joker2d
9 Ответов
2101 Просмотров
Последний ответ Июль 17, 2016, 18:29:48
от dr.room
6 Ответов
982 Просмотров
Последний ответ Июль 30, 2016, 07:35:40
от ВиталийВВ