![]() |
Ищу русскую справку по AutoIT по функциям IEx
В популярной русскоязычной справке по AutoIT версии 3.2.5.4 с официального сайта раздел по IE англоязычный :( Есть ли какая-нибудь русская справка по IE?
Заранее благодарен! |
Русской справки по этим функциям нет, по крайне мере, не встречал.
Можно сюда писать функции, в описание которых неразобрался, помогу...да и многие другие думаю то же :) Или стучи в icq (номер в профиле). |
Ок.
Спасибо! Как только освобожусь - сразу напишу! |
При выполнении этой команды:
Код:
#include <IE.au3> Код:
--> IE.au3 V2.4-0 Warning from function _IEGetObjByName, $_IEStatus_NoMatch (Name: CustomFields[63], Index: 0) Чего не хватает? |
1) _IEGetObjByName() не нашла совпадений
2) _IEGetObjByName() не нашла совпадений 3) Неправильный тип объекта для _IEFormElementSetValue 4) Неправильный тип объекта для _IEFormElementSetValue |
Sylver Dragon, спасибо, но проблему я так и не смог решить :(
Вот код поля в IE, в которое нужно вставить текст: Код:
<input id="CustomFields_63_26" class="inputbox" type="text" value="" name="CustomFields[63]"/> Как нужно сделать? |
Кто-нибудь расскажите поподробней об этих функциях:
Код:
_IEGetObjByName() |
_IEGetObjByName ( ByRef $o_object, $s_Id [, $i_index = 0] )
В качестве объекта не может выступать текст. Другими словами ты не должен был читать файл. Тебе надо было открыть его как адрес в интернете с помощью _IECreate. _IEFormElementSetValue ( ByRef $o_object, $s_newvalue [, $f_fireEvent = 1] ) Первым параметром должен выступать объект. Получить можно с помощью _IEFormElementGetX (В зависимости от ситуации). |
#include <IE.au3>
_IEGetObjByName ( ByRef $o_object, $s_Id [, $i_index = 0] ) $o_object: Переменная, которая сожержить указатель на объект InternetExplorer.Application, окно, или объект фрейм. $s_Id: Определенное имя или ID объекта, который желаете найти $i_index: опционально: Если имя или ID объекта встречается более одного раза, можно указать номер необходимого экземпляра объекта (отсчет начниется с 0). 0 (по умолчанию) или положительное целое число возвращают указаетль на экземпляр объекта. -1 возвращает колекцию (список) найденных объектов. Возвращаемое значение: Успех: Возвращается объект - указаетль на искомый объект/ы, @Extended = содержит колличество возвращаемых объектов Неуспех (сбойу, крах): Возвращается 0 и устанавливается @Error @Error: 0 ($ _IEStatus_Success) = Нет ошибок 3 ($ _IEStatus_InvalidDataType) = Неправильный тип данных 7 ($ _IEStatus_NoMatch) = Нет совпадений @Extended: Содержит номер ошибочного (неправильного) параметра Примечание: Эта функция возвращает объект - указаетль(ссылку) на какой-либо объект в документе с указанным иминем или ID. DOM элементы могут иметь имя или ID атрибуты или все сразу. Указанный ID может быть сопоставлен только с одиним элементом, а указанное имя может быть сопоставленно с несколькими элементами. В Internet Explorer, имя и ID пространство имен являются общим. ---------------------------------------------------------------------------------------- #include <IE.au3> _IEFormElementSetValue ( ByRef $o_object, $s_newvalue [, $f_fireEvent = 1] ) $o_object: Переменная, которая сожержить указатель на объект InternetExplorer.Application, объект элемента Form. $s_newvalue: Новое значение, котрое будет назначенно (установленно) элементу Form. $f_fireEvent: опционально: Указывает, вызывать ли событие OnChange после изменения значения 0 = Не вызывать событие OnChange или OnClick после изменения значения 1 = (по умолчанию) Вызывать событие OnChange и OnClick после изменения значения Возвращаемое значение: Успех: Возвращается 1 Неуспех (сбойу, крах): Возвращается 0 и устанавливается @Error @Error: 0 ($ _IEStatus_Success) = Нет ошибок 3 ($ _IEStatus_InvalidDataType) = Неправильный тип данных 4 ($ _IEStatus_InvalidObjectType) = Неправильный тип объекта @Extended: Содержит номер ошибочного (неправильного) параметра Примечание: Хотя все Form элементы имеют значение, только текстовые (текст ориентированные) элементы используют значение их (Form элементов) атрибута в явном виде (тип text, textarea, hidden, password и file). Значение других Form элементов не влияет на то, что отображается в пользовательском интерфейсе, даже если элемент возвращает значение, когда он выбран или активен. См. _IEFormElementOptionSelect, _IEFormElementCheckboxSelect, _IEFormElementRadioSelect и _IEFormImageClick для получения более подробной информации. Примечание: Неполучится использовать _IEFormElementSetValue, чтобы установить значение INPUT TYPE=FILE элемента. Ограничения безопасности браузера остановят выполнение сценария (для) этого элемента. См. пример ниже для понимания(?). |
в этом примере:
Цитата:
Цитата:
Цитата:
Посмотри, подумай..... |
proxy, спасибо, буду думать!
|
Код:
#include <IE.au3> Или я что-то опять упустил?) |
$i_index: опционально: Если имя или ID объекта встречается более одного раза, можно указать номер необходимого экземпляра объекта (отсчет начниется с 0). 0 (по умолчанию) или положительное целое число возвращают указаетль на экземпляр объекта. -1 возвращает колекцию (список) найденных объектов.
То есть возвращается не объект, а список (коллекция, множество) объектов. Попробуй _IEFormElementSetValue ($oFirst1, $First, 0) |
Цитата:
|
В справке приводятся одинаковые примеры по функциям _IEFormElementGetObjByName и _IEFormGetObjByName:
Код:
#include <IE.au3> $oIE = _IECreate ("http://www.google.com") $oForm = _IEFormGetObjByName ($oIE, "f") $oQuery = _IEFormElementGetObjByName ($oForm, "q") _IEFormElementSetValue ($oQuery, "AutoIt IE.au3") _IEFormSubmit ($oForm) Для поиска имён я в мозиле использую плагин Firebug, но не нашёл к чему это могло бы относится..... И как работает связка $oForm = _IEFormGetObjByName ($oIE, "f") $oQuery = _IEFormElementGetObjByName ($oForm, "q") Может, если вы мне это объясните, то я уже глубже вникну что здесь к чему :cool: |
_IEFormGetObjByName ( ByRef $o_object, $s_name [, $i_index = 0] )
$s_name - Specifies the name of the Form you wish to match Смысловой перевод звучит как: "Определяет название формы, которой вы желаете задать соответствие." Мб тебе это поможет. Сам я с функциями работы с IE на вы общаюсь так что только переводом помочь могу :) |
Форма поиска на Гугле имеет название f
Можете посмотреть исходный код старницы: Код:
<form action="/search" name=f> Сама строка поиска имеет название q Исходный код: Код:
<input autocomplete="off" maxlength=2048 name=q size=55 title="Поиск в Google" value=""> Таким образом, пример работает так: Открывает страницу в IE Находит форму с именем f. Получает ссылку (указатель) на неё. В этой форме находит элемент с именем q. Получает указатель на неё. Устанавливает значение на этот элемент и отсылает форму. Пока писал, понял в чём ошибка |
Sylver Dragon,
Вот код формы: Код:
<form id="frmSS26" onsubmit="return CheckForm26(this);" action="http://www.wedoitallvegas.com/sendstudionx/form.php?form=26" method="post"> Пробовал вот так: Код:
#include <IE.au3> $oIE = _IECreate ("http://сайт") |
Ты пытаешься получить объект по его имени, используя при этом его ID
Используй $oForm =_IEGetObjById($oIE,"frmSS26") вместо $oForm =_IEFormGetObjByName($oIE,"frmSS26") |
Не выходит....вот ошибки:
Код:
--> IE.au3 V2.4-0 Warning from function _IEGetObjById, $_IEStatus_NoMatch (frmSS26) подставить $oQuery = _IEFormElementGetObjByName($oForm, "CustomFields_63_26") вылезает точно такая же ошибка...... РЕШИЛ ПРОБЛЕМУ!!! :) Я вместо того чтобы открывать всю страницу, открыл только форму и вот такой скрипт прекрасно сработал: Код:
#include <IE.au3> Но не факт что это уже всё :) |
Время: 08:35. |
Время: 08:35.
© OSzone.net 2001-