Доброго времени суток форумчане!
Прошу помощи в решении ОЧЕНЬ НУЖНО: на моем компе мой скрипт под IE отлично работает, но на других компах выходит сообщение об ошибке. После анализа нашел что игнорятся команды _IEFrameGetCollection и _IEGetObjById например:
На других компах скрипт пролетает мимо команд _IEFrameGetCollection и _IEGetObjById как будто их нет. Ради эксперимента в небольшом куске скрипта заменил эти команды на _IETagNameGetCollection - работает у всех:
Можно было переписать все на _IETagNameGetCollection, НО это долго.
Полностью повторил настройки IE на других компьютерах как у себя - никакого эффекта. Что может кроме настроек IE еще влиять на работу команд AutoIT? Куда копать дальше? Если у кого есть опыт в этом прошу поделиться.
Прошу помощи в решении ОЧЕНЬ НУЖНО: на моем компе мой скрипт под IE отлично работает, но на других компах выходит сообщение об ошибке. После анализа нашел что игнорятся команды _IEFrameGetCollection и _IEGetObjById например:
Код:
#include <IE.au3>; подключаем библиотеку
$oIE=_IECreate("http://10.3.30.103:9080/Main/login.html")
_IELoadWait($oIE)
$oFrame=_IEFrameGetCollection($oIE)
$oObj=_IEGetObjById($oFrame,'j_username'); здесь поле ввода логина
_IEAction($oObj,'focus'); фокус на поле логина
_IEAction($oObj,'CLICK'); клик на логине
На других компах скрипт пролетает мимо команд _IEFrameGetCollection и _IEGetObjById как будто их нет. Ради эксперимента в небольшом куске скрипта заменил эти команды на _IETagNameGetCollection - работает у всех:
Код:
$oInputs=_IETagNameGetCollection($oIE,'input')
;Наводим фокус на поле логина
For $oInput In $oInputs
If $oInput.type=='text' and $oInput.name=='j_username' Then
_IEAction($oInput,"focus")
ExitLoop
EndIf
Next
Можно было переписать все на _IETagNameGetCollection, НО это долго.
Полностью повторил настройки IE на других компьютерах как у себя - никакого эффекта. Что может кроме настроек IE еще влиять на работу команд AutoIT? Куда копать дальше? Если у кого есть опыт в этом прошу поделиться.