Нубокодер
Новичок
- Сообщения
- 75
- Репутация
- 0
Пример для наглядности:
Программа сканирует 3 интернет страницы и выводит в консоль текст 4-ой ссылки на каждой из страниц.
Подскажите как можно уменьшить время между переходами? Практически все время уходит на загрузку страницы. Неужели нужно ждать полную загрузку, хотя требуется найти всего 1 элемент в начале? Надо бы как то считывать его до окончания загрузки.
Отключение показа картинок в браузере не помогает. Картинки не выводятся, но все равно постоянно подгружаются. Время переходов остается примерно таким же.
Код:
#include <IE.au3>
#include <GUIConstantsEx.au3>
Opt("WinWaitDelay", 100) ; время паузы после успешных оконных функций (по умолчанию=250)
Opt("GUIOnEventMode", 1) ; Включает режим OnEvent (по событию)
Global $url[4] = ["", "http://www.youtube.com/channel/UCc4Gj-WdPIbF8fBmCYB2wqA", "http://yandex.ru/images/search?text=autoit", "http://games.mail.ru"]; массив адресов
$hGui = GUICreate("Окошко чтоб закрыть программу", 400, 20, 5, 5) ; создание окна
GUISetState(@SW_SHOW) ; окно видимо
GUISetOnEvent($GUI_EVENT_CLOSE, "_CLOSEClicked") ; обработка закрытия программы
;RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main", "Display Inline Images", "REG_SZ","no" ) ; отключить показ картинок (, но они все равно грузятся)
$oIE = _IECreate($url[0], 0, 1, 0) ; создаю окно браузера IE
While 1
For $i = 1 To 3
_IENavigate($oIE, $url[$i], 0) ; переход по адресу без загрузки страницы
_IELoadWait($oIE) ; ждем полной загрузки страницы
$link4 = _IETagNameGetCollection ( $oIE, 'a', 3) ; нахожу 4-ую ссылку на текущей странице браузера
$link4 = $link4.innertext ; выделяю текст в найденой ссылке
ConsoleWrite ( $i & " сайт: " & $link4 & @CRLF ) ; вывожу текст найденой ссылки в консоль
ConsoleWrite ( @SEC & "." & @MSEC & @CRLF ) ; вывожу текущее время (сек.мсек)
ConsoleWrite ( "-----------------------------" & @CRLF )
Next
WEnd
;~ Функция закрытия программы:
Func _CLOSEClicked()
If MsgBox(4 + 256, "Подтверди базар:", "Сыкануть по полной программе и свалить в ужасе?") = 6 Then
;RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main", "Display Inline Images", "REG_SZ","yes" ) ; включить показ картинок
_IEQuit($oIE)
Exit
EndIf
Return
EndFunc
Программа сканирует 3 интернет страницы и выводит в консоль текст 4-ой ссылки на каждой из страниц.
Подскажите как можно уменьшить время между переходами? Практически все время уходит на загрузку страницы. Неужели нужно ждать полную загрузку, хотя требуется найти всего 1 элемент в начале? Надо бы как то считывать его до окончания загрузки.
Отключение показа картинок в браузере не помогает. Картинки не выводятся, но все равно постоянно подгружаются. Время переходов остается примерно таким же.