Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Отправка заполненой формы в IE.

Ответить
Настройки темы
[решено] Отправка заполненой формы в IE.

Пользователь


Сообщения: 143
Благодарности: 24

Профиль | Отправить PM | Цитировать


Изменения
Автор: HORRIBLE
Дата: 01-09-2009
Здраствуйте.
Что получилось:
читать дальше »
PHP код: Выделить весь код

;=======авторизация=====================

$new_wind _IECreate("http://vkontakte.ru/index.php")
_IELoadWaitTimeout(60000*2)
$oForm _IEFormGetObjByName($new_wind"login")
$login _IEFormElementGetObjByName  ($oForm"email")
$pass _IEFormElementGetObjByName  ($oForm"pass")
_IEFormElementSetValue ($login"windows-media-player@yandex.ru")
_IEFormElementSetValue ($pass"R255G0B0H0S100V100")    
_IEFormSubmit ($oForm)
_IELoadWaitTimeout(60000*2)
;===============================================
;======
Кого добавляем=========================
_IENavigate($new_wind,"http://vkontakte.ru/id1458553?94229")
_IELoadWaitTimeout(60000*2)
_IELinkClickByText $new_wind"Добавить в друзья")
if @
ERROR <> 7 then
if _IELinkClickByText $new_wind"Добавить личное сообщение") <> 7 then

;вот эта страшная форма
$oForm 
_IEFormGetObjByName($new_wind"addFriend")
$message _IEFormElementGetObjByName  ($oForm"message")
_IEFormElementSetValue ($oForm"Так просто текст")
_IEFormSubmit ($oForm) < ---- не получается отправить.

EndIf
EndIf
_IELoadWaitTimeout(60000*2



_IEFormSubmit ($oForm) почему то после этого отображается страничка (По вашему запросу ничего не найдено).
Вот код странички который показывает DebugBur при наведении на форму:
читать дальше »
HTML код: Выделить весь код
<DIV style="WIDTH: 400px; HEIGHT: auto; MARGIN-LEFT: -210px; TOP: 182px" class="popup_box_container message_box" VK1251822580111="3"><DIV class=box_layout> <DIV class=box_title_wrap> <DIV class=box_title>Добавление в друзья</DIV></DIV> <DIV class=box_body> <DIV> <FORM id=addFriendForm method=post name=addFriend> <TABLE class=formTable border=0 cellSpacing=0> <TBODY> <TR class=tallRow> <TD style="WIDTH: 118px; VERTICAL-ALIGN: top"><A id=to_url href="http://vkontakte.ru/id1458553"><IMG class=messageImage src="http://vkontakte.ru/images/question_b.gif"> </A></TD> <TD style="PADDING-LEFT: 4px; VERTICAL-ALIGN: top"> <DIV style="MARGIN-BOTTOM: 6px">Вы хотите, чтобы <A href="http://vkontakte.ru/id1458553">####</A> был в списке Ваших друзей?</DIV> <DIV>Мы оповестим его об этом, и он должен будет подтвердить, что вы друзья.</DIV><INPUT id=act value=accept_friend type=hidden name=act> <INPUT id=fid value=1458553 type=hidden name=fid> <INPUT id=hash value=1251822585_fe630ecbe72ea76ea2 type=hidden name=hash> <INPUT id=privacy_cats type=hidden name=cats> <INPUT value=1 type=hidden name=verbose> <DIV style="MARGIN: 10px 0px"></DIV> <DIV id=addMsg><SMALL>[ <A onclick="show('addMsgBox');hide('addMsg');return false;" href="http://vkontakte.ru/search.php?id=1458553#">Добавить личное сообщение</A> ]</SMALL> </DIV> <DIV style="DISPLAY: none" id=addMsgBox> <DIV style="MARGIN-BOTTOM: 4px">Личное сообщение: <A style="FONT-SIZE: 9px" onclick="hide('addMsgBox');show('addMsg');return false;" href="http://vkontakte.ru/search.php?id=1458553#">Скрыть</A></DIV><TEXTAREA style="WIDTH: 220px" rows=6 name=message></TEXTAREA> </DIV></FORM></TD></TR></TBODY></TABLE></FORM></DIV></DIV> <DIV class=box_controls_wrap> <DIV class=box_controls> <DIV class="button_wrap button_no" VK1251822580111="5"> <DIV id=button0_1 class="box_button ">Отмена</DIV></DIV> <DIV class="button_wrap button_yes" VK1251822580111="6"> <DIV id=button0_2 class="box_button ">Добавить в друзья</DIV></DIV></DIV></DIV></DIV></DIV>



Спасибо.

Отправлено: 20:34, 01-09-2009

 

Аватара для timsky

Новый участник


Сообщения: 46
Благодарности: 10

Профиль | Отправить PM | Цитировать


Держи, спамер

Код: Выделить весь код
#include <IE.au3>
;=======авторизация=====================
$new_wind = _IECreate("http://vkontakte.ru/index.php")
_IELoadWaitTimeout(60000 * 2)
$oForm = _IEFormGetObjByName($new_wind, "login")
$login = _IEFormElementGetObjByName($oForm, "email")
$pass = _IEFormElementGetObjByName($oForm, "pass")
_IEFormElementSetValue($login, "windows-media-player@yandex.ru")
_IEFormElementSetValue($pass, "R255G0B0H0S100V100")
_IEFormSubmit($oForm)
_IELoadWaitTimeout(60000 * 2)
;===============================================
;======Кого добавляем=========================
_IENavigate($new_wind, "http://vkontakte.ru/id1458553?94229")
_IELoadWaitTimeout(60000 * 2)
_IELinkClickByText($new_wind, "Добавить в друзья")
If @error <> 7 Then
    Sleep(3000)
    If _IELinkClickByText($new_wind, "Добавить личное сообщение") <> 7 Then
        $message = _IEGetObjByName($new_wind, "message")
        _IEPropertySet($message, "innertext", "Так просто текст")
        Sleep(3000)
        $submit = _IEGetObjById($new_wind, 'button0_2')
        _IEAction($submit, 'click')
        If @error Then MsgBox(16, @error, @extended)

    EndIf
EndIf
_IELoadWaitTimeout(60000 * 2)
У тебя, кстати, и текст не прописывался этот: Так просто текст

Вот на такие даже спамерские вопросы с четким, готовым к отладке кодом очень интересно и приятно отвечать.
Слипы добавил для себя, для наглядности
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:09, 02-09-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 143
Благодарности: 24

Профиль | Отправить PM | Цитировать


Странно, у меня текст (Так просто текст) добавлялся..........но бывало и обратное...........
Не знал, что можно так нажать:
Код: Выделить весь код
$submit = _IEGetObjById($new_wind, 'button0_2')
        _IEAction($submit, 'click')
У меня немного другая цель,не спам, просто добавление людей для приложения в контакте, хотя и для спама тоже пойдет, только мне не зачем.
Спасибо.

Отправлено: 19:11, 02-09-2009 | #3


Аватара для timsky

Новый участник


Сообщения: 46
Благодарности: 10

Профиль | Отправить PM | Цитировать


Да лана, не особо важно, для чего тебе это.
Ты бы пароль сменил теперь от акка на всякий случай
Цитата HORRIBLE:
Не знал, что можно так нажать: »
Ну у тебя _IEFormSubmit не срабатывал потому что эта кнопка вне формы. Т.е. после закрывающего тега </form>
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:54, 02-09-2009 | #4


Старожил


Сообщения: 186
Благодарности: 4

Профиль | Отправить PM | Цитировать


Почему если я меняю открываемую анкету, скрипт перестает вносить данные в поле "Добавить сообщение"? Вот пример с другой анкетой. При запуске этого скритпа у меня не работает _IEPropertySet.

Код: Выделить весь код
#include <IE.au3>
$new_wind=_IECreate("http://vkontakte.ru/id49650550")

_IELinkClickByText($new_wind, "Добавить в друзья")
If @error <> 7 Then
    Sleep(3000)
    If _IELinkClickByText($new_wind, "Добавить личное сообщение") <> 7 Then
        $message = _IEGetObjByName($new_wind, "message")
        sleep(1000)
        _IEPropertySet($message, "innertext", "Так просто текст")
        Sleep(3000)
        $submit = _IEGetObjById($new_wind, 'button0_2')
        ;_IEAction($submit, 'click')
        If @error Then MsgBox(16, @error, @extended)

    EndIf
EndIf

Отправлено: 18:45, 05-09-2009 | #5


Аватара для timsky

Новый участник


Сообщения: 46
Благодарности: 10

Профиль | Отправить PM | Цитировать


Ну твой скрипт же не авторизуется. У меня нет акка ни на одной социалке, так что тестить не на чем.

Отправлено: 01:50, 07-09-2009 | #6


Пользователь


Сообщения: 143
Благодарности: 24

Профиль | Отправить PM | Цитировать


Чтобы добавлялся текст, когда страничка открыта или закрыта надо добавить:
PHP код: Выделить весь код

$new_wind=_IECreate("http://vkontakte.ru/id49650550")

_IELoadWaitTimeout(60000 2)
_IELinkClickByText($new_wind"Добавить в друзья")
If @
error <> 7 Then
    Sleep
(3000)
    If 
_IELinkClickByText($new_wind"Добавить личное сообщение") <> 7 Then
       sleep
(1000)
      
$oform _IEFormGetObjByName ($new_wind"addFriend")    <--------- новая строка
      $message 
=_IEFormElementGetObjByName ($oForm"message") <--------- новая строка
      _IEPropertySet
($message"innertext""Так просто текст")
       
sleep(1000)
      
$submit _IEGetObjById($new_wind'button0_2')
      
_IEAction($submit'click')
      If @
error Then MsgBox(16, @error, @extended)
    EndIf
EndIf
_IELoadWaitTimeout(60000 2

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:06, 08-09-2009 | #7


Старожил


Сообщения: 186
Благодарности: 4

Профиль | Отправить PM | Цитировать


HORRIBLE, спасибо за дополнение. Есть вопрос по этому коду: как вы узнали, что форма называется именно addFriend, а не FriendАdd или Аdd?

Отправлено: 20:54, 09-09-2009 | #8


Пользователь


Сообщения: 143
Благодарности: 24

Профиль | Отправить PM | Цитировать


Не за что .
Я такое же вопрос задал.вот в этой теме ...мне beve посоветовал вот эту програму: DebagBar. Программа может показать сколько форм на странице, какие элементы находятся в форме...и т.д. в общем любую интересующую информацию. Это через что можно узнать.

А само название формы: выдрал кусок....из страницы.
HTML код: Выделить весь код
<FORM id=addFriendForm method=post name=addFriend> тут куча текста...... </form>

Форма имеет имя=addFriend

Последний раз редактировалось HORRIBLE, 09-09-2009 в 21:48.

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:38, 09-09-2009 | #9


Старожил


Сообщения: 186
Благодарности: 4

Профиль | Отправить PM | Цитировать


Еще раз спасибо)

Отправлено: 23:05, 09-09-2009 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Отправка заполненой формы в IE.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] [GUI] прокрутка формы D_Master AutoIt 3 15-02-2009 20:01
Отправка формы без кнопки "Submit" CTEPBA Вебмастеру 3 15-09-2006 14:21
Скрытая отправка формы Bazalt Вебмастеру 5 11-05-2005 23:54
Отправка формы скрипту Guest Вебмастеру 8 19-10-2004 15:40
Отправка формы скрипту Guest Программирование и базы данных 1 21-09-2004 10:03




 
Переход