-
AutoIt
(
http://forum.oszone.net/forumdisplay.php?f=103)
Отправка заполненой формы в IE.
Здраствуйте.
Что получилось:
читать дальше »
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>
Спасибо.
|
Держи, спамер :)
Код:
#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)
У тебя, кстати, и текст не прописывался этот: Так просто текст
Вот на такие даже спамерские вопросы с четким, готовым к отладке кодом очень интересно и приятно отвечать.
Слипы добавил для себя, для наглядности
|
Странно, у меня текст (Так просто текст) добавлялся..........но бывало и обратное...........
Не знал, что можно так нажать:
Код:
$submit = _IEGetObjById($new_wind, 'button0_2')
_IEAction($submit, 'click')
У меня немного другая цель,не спам, просто добавление людей для приложения в контакте, хотя и для спама тоже пойдет, только мне не зачем.
Спасибо.
|
Да лана, не особо важно, для чего тебе это.
Ты бы пароль сменил теперь от акка на всякий случай :)
Цитата:
Цитата HORRIBLE
Не знал, что можно так нажать: »
|
Ну у тебя _IEFormSubmit не срабатывал потому что эта кнопка вне формы. Т.е. после закрывающего тега </form>
|
Почему если я меняю открываемую анкету, скрипт перестает вносить данные в поле "Добавить сообщение"? Вот пример с другой анкетой. При запуске этого скритпа у меня не работает _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
|
Ну твой скрипт же не авторизуется. У меня нет акка ни на одной социалке, так что тестить не на чем.
|
Чтобы добавлялся текст, когда страничка открыта или закрыта надо добавить:
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)
|
HORRIBLE, спасибо за дополнение. Есть вопрос по этому коду: как вы узнали, что форма называется именно addFriend, а не FriendАdd или Аdd?
|
Не за что =).
Я такое же вопрос задал.вот в этой теме ...мне beve посоветовал вот эту програму: DebagBar. Программа может показать сколько форм на странице, какие элементы находятся в форме...и т.д. в общем любую интересующую информацию. Это через что можно узнать.
А само название формы: выдрал кусок....из страницы.
HTML код:
<FORM id=addFriendForm method=post name=addFriend>
тут куча текста......
</form>
Форма имеет имя=addFriend
|
80971815772 |
10-09-2009 02:40 1215271 |
$submit = _IEGetObjById($new_wind, 'button0_2')
_IEAction($submit, 'click')
Кому не трудно,обьясните пожалуйста про эти строчки? в частности button0_2 - я так понимаю єто кнопка ? как ее добывать так бы сказать ? из странички?
|
Цитата:
Цитата 80971815772
$submit = _IEGetObjById($new_wind, 'button0_2')
_IEAction($submit, 'click')
Кому не трудно,обьясните пожалуйста про эти строчки? в частности button0_2 - я так понимаю єто кнопка ? как ее добывать так бы сказать ? из странички? »
|
Добывать ее имя либо копаясь в HTML странице, либо пользуясь прогой DebugBar. Первая строчка присваивает переменной $submit ссылку на кнопку "Добавить в друзья". Вторая строчка выполняет действие 'click' по той кнопке, на которую ссылается $submit.
|
Время: 02:41.
© OSzone.net 2001-