Что нового

Не работают _IEFrameGetCollection и _IEGetObjById на других компьютерах

Boris

Дорогу осилит идущий
Сообщения
25
Репутация
0
Доброго времени суток форумчане!

Прошу помощи в решении ОЧЕНЬ НУЖНО: на моем компе мой скрипт под 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? Куда копать дальше? Если у кого есть опыт в этом прошу поделиться.
 
Автор
B

Boris

Дорогу осилит идущий
Сообщения
25
Репутация
0
Решил проблему - все дело в настройках браузера
 

Bingo888

Новичок
Сообщения
36
Репутация
0
Авторизация без по типу поля input

Добрый день! Подскажите есть участок кода нужно авторизироваться на сайте в котором нет не id формы не id input как правильно привязатся к етому участку кода чтоб заполнить логин и пароль в соотвецтвуюющие поля? Код :

<div class="ui-dialog-content ui-widget-content" id="authWindow" style="width: auto; min-height: 23.7px; max-height: none; height: auto;">
<form>
<table style="width: 100%">
<tbody><tr>
<td style="text-align: left;">Логин</td>
<td>
<input style="width: 300px;" autocomplete="on" onkeypress=" auth.onEnter(event) " type="text">
</td>
</tr>
<tr>
<td style="text-align: left;">Пароль</td>
<td>
<input style="width: 300px;" autocomplete="on" onkeypress=" auth.onEnter(event) " type="password">
</td>
</tr>
</tbody></table>
</form>
</div>



Вот набросал что то но в autoit есчо много чего не понимаю, подскажите плиз!

$login = "user"
$sUrl = 'шттп/w.ru'
$oIE = _IECreate($sUrl)
$oLogin = $oIE.document.getElementById('authWindow').getElementsByTagName('input')[0]
_IEFormElementSetValue($oLogin, $login)

должно работать?
 
Верх