Автор Тема: Не работают _IEFrameGetCollection и _IEGetObjById на других компьютерах  (Прочитано 1147 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Boris [?]

  • Новичок
  • *
  • Сообщений: 25
  • Репутация: 0
  • Пол: Мужской
  • Дорогу осилит идущий
    • Награды
  • Версия AutoIt: 3.3.14.0
Доброго времени суток форумчане!

Прошу помощи в решении ОЧЕНЬ НУЖНО: на моем компе мой скрипт под IE отлично работает, но на других компах выходит сообщение об ошибке. После анализа нашел что игнорятся команды _IEFrameGetCollection и _IEGetObjById например:
Код: AutoIt [Выделить]
#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 - работает у всех:
Код: AutoIt [Выделить]
$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? Куда копать дальше? Если у кого есть опыт в этом прошу поделиться.
« Последнее редактирование: Август 13, 2017, 03:19:45 от Boris, Причина: Исправил ошибки »
Сегодня подходящий день чтобы действовать

Русское сообщество AutoIt


Оффлайн Boris [?]

  • Новичок
  • *
  • Сообщений: 25

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
  • Дорогу осилит идущий
    • Награды
  • Версия AutoIt: 3.3.14.0
Решил проблему - все дело в настройках браузера

Оффлайн Bingo888 [?]

  • Новичок
  • *
  • Сообщений: 22
  • Репутация: 0
    • Награды
  • Версия AutoIt: 3.3.14.0
Авторизация без по типу поля input
« Ответ #2, Отправлен: Январь 30, 2019, 16:52:04 »
Добрый день! Подскажите есть участок кода нужно авторизироваться на сайте в котором нет не 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)

должно работать?

Русское сообщество AutoIt

Авторизация без по типу поля input
« Ответ #2 Отправлен: Январь 30, 2019, 16:52:04 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
3 Ответов
3203 Просмотров
Последний ответ Ноябрь 30, 2011, 21:40:00
от Kaster
8 Ответов
4992 Просмотров
Последний ответ Апрель 24, 2012, 12:34:57
от sngr
5 Ответов
3645 Просмотров
Последний ответ Март 21, 2013, 16:26:21
от C2H5OH
1 Ответов
2297 Просмотров
Последний ответ Ноябрь 26, 2013, 18:28:49
от AZJIO
1 Ответов
1178 Просмотров
Последний ответ Ноябрь 05, 2014, 13:48:40
от mugger
0 Ответов
868 Просмотров
Последний ответ Февраль 15, 2015, 19:02:17
от jslby
9 Ответов
2735 Просмотров
Последний ответ Апрель 05, 2016, 13:42:18
от ВиталийВВ
0 Ответов
790 Просмотров
Последний ответ Май 16, 2017, 03:30:45
от zevoice
8 Ответов
1072 Просмотров
Последний ответ Август 14, 2017, 14:42:54
от Boris
2 Ответов
561 Просмотров
Последний ответ Ноябрь 08, 2017, 19:41:03
от Garrett