#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt('MustDeclareVars', 1)
Example()
; Simple example: Embedding an Internet Explorer Object inside an AutoIt GUI
;
; See also: http://msdn.microsoft.com/workshop/browser/webbrowser/reference/objects/internetexplorer.asp
Func Example()
Local $oIE, $GUIActiveX, $GUI_Button_Back, $GUI_Button_Forward
Local $GUI_Button_Home, $GUI_Button_Stop, $msg
$oIE = ObjCreate("Shell.Explorer.2")
; Create a simple GUI for our output
GUICreate("Embedded Web control Test", 640, 580, (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN))
$GUIActiveX = GUICtrlCreateObj ($oIE, 10, 40, 600, 360)
$GUI_Button_Back = GUICtrlCreateButton("Back", 10, 420, 100, 30)
$GUI_Button_Forward = GUICtrlCreateButton("Forward", 120, 420, 100, 30)
$GUI_Button_Home = GUICtrlCreateButton("Home", 230, 420, 100, 30)
$GUI_Button_Stop = GUICtrlCreateButton("Stop", 330, 420, 100, 30)
GUISetState() ;Show GUI
$oIE.navigate("http://www.autoitscript.com")
; Waiting for user to close the window
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $GUI_Button_Home
$oIE.navigate("http://www.autoitscript.com")
Case $msg = $GUI_Button_Back
$oIE.GoBack
Case $msg = $GUI_Button_Forward
$oIE.GoForward
Case $msg = $GUI_Button_Stop
$oIE.Stop
EndSelect
WEnd
GUIDelete()
EndFunc ;==>Example
_IELinkGetCollection
#include <IE.au3>
#include <Array.au3>
HotKeySet('{Esc}', '_Exit'); выход по кнопке Esc
$j = 0 ;счетчик найденных ссылок
Dim $aLinks[$j + 1][2];массив, в котором будут храниться найденные ссылки
$sSearch = 'FLV';слово, которое будем искать
$oIE = _IECreate('sfrom.net/http://www.youtube.com/watch?v=uBxZNkRpfEY');открываем IE
$oForm = _IEFormGetCollection($oIE, 0);получаем форму
$oSearch = _IEFormElementGetObjByName($oForm, 'text') ;получаем объект по имени
;_IEFormElementSetValue($oSearch, $sSearch);вставляем слово для поиска
;_IEFormSubmit($oForm, 0) ;отправляем запрос
_IELoadWait($oIE);ждем
sleep(5*1000)
;For $i = 0 To 4 ;будем искать ссылки на 5-и первых страницах с результатами поиска.
;If $i Then ;на первой странице уже искали
$sText = _IEBodyReadText($oIE) ;читаем текст на странице
If StringInStr($sText, 'FLV') Then ;если на странице есть этот текст
_IELinkClickByText($oIE, 'FLV') ;кликаем по ссылке, т.е. переходим на следующую страницу
Else ;если на странице нет текста 'следующая'
;ExitLoop;выходим из цикла
EndIf
;EndIf
sleep(5*1000)
$oLinks = _IELinkGetCollection($oIE) ;получаем коллекцию ссылок на странице
For $oLink In $oLinks ;в цикле проверяем все ссылки на странице
If StringInStr($oLink.innertext, $sSearch) Then ;если в тексте ссылки есть искомое слово
$j += 1;увеличиваем счетчик на 1
ReDim $aLinks[$j + 1][2];изменяем размер массива
$aLinks[$j][0] = $oLink.innertext;добавляем в массив текст ссылки
$aLinks[$j][1] = $oLink.href;добавляем в массив адрес ссылки
EndIf
Next
$aLinks[0][0] = $j;присваиваем этому элементу массива число - количество найденных ссылок.
;Next
;_IEQuit($oIE) ;можно закрыть окно IE
_ArrayDisplay($aLinks, 'Найденные ссылки');показываем полученный массив
_IENavigate($oIE, $aLinks[1][1])
Func _Exit()
_IEQuit($oIE)
Exit
EndFunc ;==>_Exit
$oSubmit = _IEGetObjByName ($URL, "sf_url")
_IEAction($oSubmit, "Focus")
sleep(100)
Send("{TAB 2}")
sleep(1000)
Send("{ENTER}")
#include<IE.au3>
Dim $oIE, $oWait
$oIE = _IECreate("http://ru.savefrom.net/http:/www.youtube.com/watch?_openstat=shrt;sfrom;;&v=uBxZNkRpfEY")
While 1
$oWait = _IEGetObjById($oIE, "sf_indicator_box")
If Not $oWait.style.display Then
While 1
If $oWait.style.display == "none" Then
_LinkClick("FLV")
Exit
EndIf
Sleep(250)
WEnd
EndIf
Sleep(250)
WEnd
Func _LinkClick($sText)
Local $oLinks
$oLinks = _IELinkGetCollection($oIE)
For $oLink In $oLinks
If _IEPropertyGet($oLink, "innertext") == $sText Then
_IENavigate($oIE, $oLink.href)
EndIf
Next
EndFunc
_IENavigate($oIE, $aLinks[1][1])
_IENavigate($oIE, $oLink.href)