DmitriyS
10-08-2009, 10:21
Хммм.... , давай посмотри код. Он создает окно браузера, открывает новое окно из родительского, потом находит дочернее и позволяет с ним работать. Но данный код позволяет работать только с виндовыми окнами: Explorer, IE.
#include <IE.au3>
;Чтобы разрешить всплывающие окна с яндекса
RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\New Windows\Allow", "*.yandex.ru", "REG_BINARY", "0x0000")
;Ищем в яндексе сайт http://wmxchange.ru/
$oIE = _IECreate("http://yandex.ru/yandsearch?rpt=rad&text=http://wmxchange.ru/")
;Открываем найденный сайт, должен открыться в новом окне
_IELinkClickByText($oIE, "http://wmxchange.ru/")
;Подождем запуска браузера и загрузки страницы, т.к. в противном случае можем упустить новое окно в $oShellWindows
Sleep(10000)
;Создадим объект
$oShell = ObjCreate("shell.application")
$oShellWindows = $oShell.windows
;В цикле по всем объектам в $oShellWindows
For $Window In $oShellWindows
;Выведем интресующие нас параметры
MsgBox (0, "1", "_"&$Window.LocationUrl &"_"&$Window.LocationName&"_")
;Вот здесь находишь нужное окно по одному из параметров, к примеру
If $Window.LocationName = "WMX-CHANGE" Then
MsgBox (0, "1", "Новое окно найдено")
EndIf
;И адльше к нему можно применять стандртные функции, к примеру
_IEQuit($Window)
Next
Exit
Если что то не понял, то сорри, и тогда уточни все с нуля, т.к. для меня вопрос тоже важный.
#include <IE.au3>
;Чтобы разрешить всплывающие окна с яндекса
RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\New Windows\Allow", "*.yandex.ru", "REG_BINARY", "0x0000")
;Ищем в яндексе сайт http://wmxchange.ru/
$oIE = _IECreate("http://yandex.ru/yandsearch?rpt=rad&text=http://wmxchange.ru/")
;Открываем найденный сайт, должен открыться в новом окне
_IELinkClickByText($oIE, "http://wmxchange.ru/")
;Подождем запуска браузера и загрузки страницы, т.к. в противном случае можем упустить новое окно в $oShellWindows
Sleep(10000)
;Создадим объект
$oShell = ObjCreate("shell.application")
$oShellWindows = $oShell.windows
;В цикле по всем объектам в $oShellWindows
For $Window In $oShellWindows
;Выведем интресующие нас параметры
MsgBox (0, "1", "_"&$Window.LocationUrl &"_"&$Window.LocationName&"_")
;Вот здесь находишь нужное окно по одному из параметров, к примеру
If $Window.LocationName = "WMX-CHANGE" Then
MsgBox (0, "1", "Новое окно найдено")
EndIf
;И адльше к нему можно применять стандртные функции, к примеру
_IEQuit($Window)
Next
Exit
Если что то не понял, то сорри, и тогда уточни все с нуля, т.к. для меня вопрос тоже важный.