Что нового

Вставить текст

Neo

Новичок
Сообщения
46
Репутация
0
Версия AutoIt: 3.14

Описание:
Здравствуйте. Прошу помощи.
Нужно каждые 5 секунд проверять активное окно Internet Explorer на наличие области для ввода текста. Если область найдена, то вставить текст и нажать Ctrl+Enter.
Область может быть для многострочного текста (вариант1)
Код:
<td class="nobdr" colSpan="4" align="left"><textarea style="width: 100%;" id="zdtext" cols="20" rows="7" name="zdtext"></textarea>

текущее время 12.09.2016 03:11</td>

Но иногда на сайте может быть и одна строка (вариант2)

Код:
<td class="nobdr" colSpan="4" align="left"><input style="width: 100%;" id="zdtext" name="zdtext" type="text">
текущее время 12.09.2016 02:53</td>

Примечания:
Если на странице расположен вариант1, то вставлять Текст1.
Если на странице расположен вариант2, то вставлять Текст2.
 
Автор
N

Neo

Новичок
Сообщения
46
Репутация
0
Alofa сказал(а):
А ссылку дадите?
Там нужна авторизация.
И чтобы добраться до нужной страницы много действий нужно совершить.
Да и зачем ссылка? Нужно проверять активное окно.
 
A

Alofa

Гость
Neo сказал(а):
Там нужна авторизация.
Да, непреодолимое препятствие.
Neo сказал(а):
... Да и зачем ссылка? Нужно проверять активное окно.
Действительно и что это я... :scratch:
А если судить по названию темы, то нужно "Вставить текст". :rofl:
 
Автор
N

Neo

Новичок
Сообщения
46
Репутация
0
Alofa сказал(а):
А если судить по названию темы, то нужно "Вставить текст". :rofl:
Найти в активном окне область (или поле) для ввода текста и вставить текст.
Не пойму причину вашего веселья.
На мой взгляд, вполне логично, что перед тем как вставить текст, нужно проверить, есть куда его вставить или нет. Если тему нужно назвать иначе, напишите как.
 
Автор
N

Neo

Новичок
Сообщения
46
Репутация
0
Текст 2, уже неактуально.
А вообще, была просьба сделать вот так
Код:
#include <IE.au3>
Dim $oIE,$oSubmit,$sText,$oMess,$oForm

$sText=ControlGetText("[CLASS:IEFrame]","","[CLASS:Edit;INSTANCE:1]")

Sleep(2000)
$oIE = _IEAttach($sText, "url")
_IELoadWait($oIE); возможно лишнее ожидание
$oForm = _IEFormGetCollection ($oIE, 0) ;$oForm = _IEFormGetCollection ($oIE)
$oMess = _IEFormElementGetObjByName ($oForm, "zdtext")
_IEFormElementSetValue ($oMess, "test content")

_IELoadWait ($oIE)
_IEFormSubmit ($oForm)

Справка рулит.
 
Верх