Что нового

Как управлять уже открытым IE без создания объекта _IECreate

Suppir

Продвинутый
Сообщения
967
Репутация
62
Добры день!

Возможно ли управлять уже открытым IE без _IECreate() ?

То есть, мне не нужно создавать копию IE, а перехватить уже существующую и управлять ей (например, кликать по ссылкам).
 
Автор
S

Suppir

Продвинутый
Сообщения
967
Репутация
62
Спасибо, попробую!


Добавлено:
Сообщение автоматически объединено:

Такая проблема. Если делаю _IEAttach(), тогда многие команды потом не работают.

Пример из руководства AutoIT:

Код:
Local $oInputs = _IETagNameGetCollection($oIE, "input")
For $oInput In $oInputs
    MsgBox(0, "Form Input Type", "Form: " & $oInput.form.name & " Type: " & $oInput.type)
Next


Выдает ошибку:
C:\3\IE attach.au3 (11) : ==> Variable must be of type "Object".:

Если же использовать _IECreate(), тогда ошибки нет.

Подскажите, в чем дело? Как использовать _IETagNameGetCollection, если IE перехвачен функцией _IEAttach()?
 
A

Alofa

Гость
Неа, не выдает.
Код:
$hWnd = WinWait('[CLASS:IEFrame]')
$oIE =_IEAttach($hWnd, 'HWND')

Local $oInputs = _IETagNameGetCollection($oIE, "input")
For $oInput In $oInputs
    ConsoleWrite("Form: " & $oInput.form.name & " Type: " & $oInput.type & @LF)
Next

IE v11, Autoit v3.3.12.0
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Я вместо _IEAttach() предпочитаю использовать
Код:
_IECreate($s_Url, 1)
 
Верх