2014-09-16 5 views
0

Я пытаюсь автоматизировать графический интерфейс пользователя, который использует встроенный IE-экземпляр (ClassnameNN: Internet Explorer_server1). Но я не могу получить/прикрепить объект IE, попробовал несколько способов, и все они возвращают ошибку _IESTATUS_NoMatch. Чтобы быть более конкретным, я автоматизации McAfee антивирус:Не удается получить объект IE в скрипте AutoIt - _IESTATUS_NoMatch

AutoItSetOption("WinTitleMatchMode", 2) 

$oie = _IEAttach("McAfee AntiVirus", "embedded") 
$oie = _IEAttach("McAfee AntiVirus", "embedded", 1) 
$oie = _IEAttach("[CLASS:Internet Explorer_Server; INSTANCE:1]", "embedded") 
$oie = _IEAttach("[CLASS:Internet Explorer_Server; INSTANCE:1]", "text") 
$oie = _IEAttach("", "instance", 1) 
$oie = _IEAttach("") 
$oie = _IEAttach("", "embedded") 
$sText = _IEBodyReadText($oie) 

$h_result = WinGetHandle("McAfee AntiVirus", "") 
$o_result = __IEControlGetObjFromHWND($h_result) 

; each _IEAttach() returns: 
; --> IE.au3 T3.0-1 Warning from function _IEAttach, $_IESTATUS_NoMatch 

Я попытался это с IE8, IE9, IE10, IE11 - тот же результат каждый раз.

Все, что мне нужно, это прочитать текст результатов сканирования McAfee. Любые другие способы решения этой проблемы?

+0

Есть ли причина, по которой вы используете одну и ту же переменную для вызовов 7 _IEAttach()? –

+2

@Mr. Hargrove Потому что он просто тестирует, если какой-либо из попыток успеха. – Milos

+0

спасибо за ясность Милос. –

ответ

1

Это работает для вас?

#RequireAdmin 
Opt("WinSearchChildren", 1) ;0=no, 1=search children also 
#include <IE.au3> 

AutoItSetOption("WinTitleMatchMode", 2) 
$HWND = WinGetHandle("McAfee AntiVirus", "") 
$oie = _IEAttach($HWND, "embedded") 

ConsoleWrite(_IEDocReadHTML($oIE) & @CRLF) 
+0

его же - _IEAttach() возвращает _IESTATUS_NoMatch – nazikus

+0

Попробуйте этот новый код. – Milos

+0

Если это окно видно? Правильно ли это название? Как вы получили текст заголовка? – Milos