Что нового

Проверка нажатия на кнопку submit в IE

dasksting

Новичок
Сообщения
8
Репутация
0
Написал небольшой скрипт :

Код:
#include <IE.au3>

$oIE = _IECreate ("www.test.ru")
$oForm = _IEFormGetObjByName ($oIE, "ID")
$user = _IEFormElementGetObjByName ($oForm, "USER")
sleep(5000)
ConsoleWrite(_IEFormElementGetValue ($user) & @CRLF)
Send("{Enter}")
То есть открывается сайт www.test.ru затем я ввожу в поле USER данные, потом все что я ввел выводится в консоль, тут понятно дело что нужно успеть ввести за 5 секунд данные, затем нажимается кнопка Enter для входа с введенными данными (либо клик мышкой на кнопке submit), вот собственно вопрос - как мне выводить в консоль введенные данные только после того как я нажал Enter либо нажал мышкой по кнопке submit непосредственно в браузере ? есть ли способ проверки ? Заранее благодарен!
 

Garrett

Модератор
Локальный модератор
Сообщения
3 999
Репутация
964
dasksting [?]
как мне выводить в консоль введенные данные только после того как я нажал Enter
Код:
;...
sleep(5000)
$sRememberMe = _IEFormElementGetValue ($user)
Send("{Enter}")
ConsoleWrite($sRememberMe & @CRLF)
 
Автор
dasksting

dasksting

Новичок
Сообщения
8
Репутация
0
Garrett сказал(а):
dasksting [?]
как мне выводить в консоль введенные данные только после того как я нажал Enter
Код:
;...
sleep(5000)
$sRememberMe = _IEFormElementGetValue ($user)
Send("{Enter}")
ConsoleWrite($sRememberMe & @CRLF)
не дружище, я так тоже делал, тут дело в том чтобы не было sleep(5000) а выводить в консоль только после нажатия кнопки в браузере. Потому что за 5 секунд ввести данные иногда не получается... короче говоря нужно дождаться когда юзер введет все необходимое и нажмет соответственно Enter или Кнопку в браузере и только после этого вывод в консоль всего того чего он вводил
 

Garrett

Модератор
Локальный модератор
Сообщения
3 999
Репутация
964
dasksting [?]
не дружище, я так тоже делал, тут дело в том чтобы не было sleep(5000) а выводить в консоль только после нажатия кнопки в браузере. Потому что за 5 секунд ввести данные иногда не получается... короче говоря нужно дождаться когда юзер введет все необходимое и нажмет соответственно Enter или Кнопку в браузере и только после этого вывод в консоль всего того чего он вводил
Опишите свою задачу, тогда многое станет ясно.

P.S. Что-то напрягает словосочетание "всего того чего он вводил"
 
Автор
dasksting

dasksting

Новичок
Сообщения
8
Репутация
0
Garrett сказал(а):
dasksting [?]
не дружище, я так тоже делал, тут дело в том чтобы не было sleep(5000) а выводить в консоль только после нажатия кнопки в браузере. Потому что за 5 секунд ввести данные иногда не получается... короче говоря нужно дождаться когда юзер введет все необходимое и нажмет соответственно Enter или Кнопку в браузере и только после этого вывод в консоль всего того чего он вводил
Опишите свою задачу, тогда многое станет ясно.

P.S. Что-то напрягает словосочетание "всего того чего он вводил"
Задача состоит вот в чем, вышеописанный лишь пример чего хочу, вот собственно что на самом деле надо :

1. Открываем браузер с ссылкой http://192.168.1.200/ip.php
2. На страничке есть поле для ввода PROXY
3. Ждем пока пользователь введет в поле IP в поле PROXY и нажмет кнопку Добавить либо нажмет просто Enter
4. После того как нажал кнопку, записать введенное значение в файл

Основной скрипт готов, но не могу понять как сделать проверку того что пользователь ввел все до конца. Получается что он успевает ввести несколько цифр и в файл записывается не полный IP адресс.

Перерыл уже весь интернет, весь мануал проштудировал, нигде ничего не могу найти, хоть анализатор POST запросов пиши, опять-же для этого нужна библиотека сторонняя wincap.dll, в это все и упирается, надо именно средствами автоита все считать :( Если идеи есть как еще можно это сделать, очень буду благодарен!

C Enter разобрался таким способом if _IsPressed("0D", $dll
осталось разобраться с мышкой :smile:
 

Garrett

Модератор
Локальный модератор
Сообщения
3 999
Репутация
964
dasksting
1. зачем вам нужно записывать то, что кто-то вводит?
2. это можно сделать тем же ip.php
3. такой подход называется сбор информации, только вот опять же вопрос, зачем?
Такая технология, в основном применяется в вирусах.

В общих чертах:
1. для отслеживания нажатия используйте _IsPressed()
2. для отслеживания нажатия submit используйте _IEHeadInsertEventScript()
 
Автор
dasksting

dasksting

Новичок
Сообщения
8
Репутация
0
Garrett сказал(а):
dasksting
1. зачем вам нужно записывать то, что кто-то вводит?
2. это можно сделать тем же ip.php
3. такой подход называется сбор информации, только вот опять же вопрос, зачем?
Такая технология, в основном применяется в вирусах.

В общих чертах:
1. для отслеживания нажатия используйте _IsPressed()
2. для отслеживания нажатия submit используйте _IEHeadInsertEventScript()
спасибо за советы, но я уже с помощью _lspressed разобрался, потому что логи мне нужны не на сервере а на локальной машинке, да и до вирусов мне как до северного полюса пешком :smile:
 
Верх