Что нового

[Автоматизация] Нажать на кнопку

JIereHga2010

Новичок
Сообщения
68
Репутация
0
Всем Доброго времени суток Ув. Форумчане. :IL_AutoIt_1:
Помогите пожалуйста решить проблемму. :'( :'(
Есть сайтик, для которого я хочу написать чтото типа Бота
http://likest.ru/
Там есть кнопочка Войти через ВКонтакте
А вот код этой чудесной кнопочки:
Код:
<div id="vklogin-login-form-ajax-wrapper"><form action="/" method="post" id="vklogin-login-form" accept-charset="UTF-8"><div><button class="zocial vk first form-button" type="submit" id="edit-submit" name="op">Войти через ВКонтакте</button><input type="hidden" name="form_build_id" value="form-MPb4lPDrnE1o_FNlyy02jaif3OOKQm7s5_2D6vzMthE" />
Никак не получается заставить скрипт нажать на эту кнопку.
Помогите пожалуйста готовым решением :'( :'(
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
JIereHga2010,
Попробуйте сделать примерно так.
Код:
#include <IE.au3>

$oIE = _IECreate('http://likest.ru/')
$oForm = _IEGetObjById($oIE, 'vklogin-login-form')
_IEFormSubmit($oForm)
 
Автор
J

JIereHga2010

Новичок
Сообщения
68
Репутация
0
Да, спасибо, это то что нужно :ok:
А подскажи пожалуйста, что делать дальше:
Код:
$ID_VK = "http://vk.com/jierehga2010"
$oIE = _IECreate('http://likest.ru/')
$oForm = _IEGetObjById($oIE, 'vklogin-login-form')
_IEFormSubmit($oForm)
$oLogin = _IEGetObjById($oIE, 'edit-vkuid')
 _IEFormElementSetValue($oLogin,$ID_VK )
$oForm = _IEGetObjById($oIE, 'edit-submit--3')
_IEFormSubmit($oForm)

Кнопочка Дальше не нажимается, вроде сделал как и с Первой, по твоему примеру. Что тут не так?
 

justaman

Новичок
Сообщения
7
Репутация
0
Здравствуйте, не стал создавать отдельную тему, подскажите пожалуйста. Вот так нажимаю на кнопку, но на странице таких кнопок может быть несколько, и нажимаются они все. Как нажать только одну(первую)?
Код:
Local $oButtons = _IETagNameAllGetCollection($oIE)
For $oButton In $oButtons
    If $oButton.ClassName == "submit" Then _IEAction($oButton, "click")
Next
 
Автор
J

JIereHga2010

Новичок
Сообщения
68
Репутация
0
justaman сказал(а):
Здравствуйте, не стал создавать отдельную тему, подскажите пожалуйста. Вот так нажимаю на кнопку, но на странице таких кнопок может быть несколько, и нажимаются они все. Как нажать только одну(первую)?
Код:
Local $oButtons = _IETagNameAllGetCollection($oIE)
For $oButton In $oButtons
    If $oButton.ClassName == "submit" Then _IEAction($oButton, "click")
Next
Дайте пожалуйста больше данных. Исходный код кнопок
 

justaman

Новичок
Сообщения
7
Репутация
0
DIV class="clear"></DIV></DIV><TEXTAREA name="message" class="text" id="edit_message646224-3773052" autocomplete="off"></TEXTAREA>
<BUTTON title="Отправить" class="submit" type="submit">Отправить</BUTTON>
"edit_message646224-3773052"
эти цифры разные, но не знаю как это использовать
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
JIereHga2010 [?]
что делать дальше:
Примерно так (Без проверок на ошибки.)
Код:
#include <IE.au3>

$oIE = _IECreate('http://likest.ru/')
$oForm = _IEGetObjById($oIE, 'vklogin-login-form')
_IEFormSubmit($oForm)
$oForm = _IEGetObjById($oIE, 'vklogin-login-form')
$oInput = _IEFormElementGetObjByName($oForm, 'vkuid')
_IEFormElementSetValue($oInput, 'http://vk.com/jierehga2010')
_IEFormSubmit($oForm)
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
justaman [?]
нажать только одну(первую)
Сразу после нажатия выйти из цикла
Код:
Local $oButtons = _IETagNameAllGetCollection($oIE)
For $oButton In $oButtons
    If $oButton.ClassName == "submit" Then
        _IEAction($oButton, "click")
        ExitLoop
    EndIf
Next
 
Автор
J

JIereHga2010

Новичок
Сообщения
68
Репутация
0
Уважаемый madless, я понимаю что прошу Вас слишком много помочь, ну помогите пожалуйста до конца.
Все Ваши ответы верные, и после последнего скрипта сайт мне выдает текст, который нужно скопировать и вставить в статус в ВК.

Вопрос:
1. Как получить текст для копирования: "Мальчик из небогатой семьи за всю жизнь так и не узнал, что у него аллергия на черную икру." - этот текст постоянно меняется. Мне б его записать в переменную.
Код:
 <span id="status-text" class="sel-text" onclick="jQuery(this).selText();">Мальчик из небогатой семьи за всю жизнь так и не узнал, что у него аллергия на черную икру.</span><span id="status-copy-result"></span>
2. После того, как я изменю статус в ВК, нужно будет нажать на кнопку:
Код:
<button class="zocial vk last form-button" type="submit" id="edit-submit" name="op">Войти</button><input type="hidden" name="form_build_id" value="form-YmmYzy7WHJCn1-BvGHFG8zVYQMvpgUFZpnfC0ih4R8A" />
:'( :'( :'(
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
JIereHga2010 [?]
ну помогите пожалуйста до конца.
OffTopic:
Дайте воды напиться, а то так есть хочется, что переночевать негде. ;D

Код:
#include <IE.au3>

$oIE = _IECreate('http://likest.ru/')
$oForm = _IEGetObjById($oIE, 'vklogin-login-form')
_IEFormSubmit($oForm)
$oForm = _IEGetObjById($oIE, 'vklogin-login-form')
$oInput = _IEFormElementGetObjByName($oForm, 'vkuid')
_IEFormElementSetValue($oInput, 'http://vk.com/jierehga2010')
_IEFormSubmit($oForm)
$oForm = _IEGetObjById($oIE, 'vklogin-login-form')
$oTxt = _IEGetObjById($oForm, 'status-text')
$sTxt = _IEPropertyGet($oTxt, 'innertext')
MsgBox(64, 'Status', $sTxt)
_IEFormSubmit($oForm)
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
А так можно поменять статус (у меня работает).
Код:
$oIE2 = _IECreate("http://vk.com/jierehga2010")
_IENavigate($oIE2, "javascript:Page.infoEdit();", 0)
$oInput = _IEGetObjById($oIE2, "currinfo_input")
_IEFormElementSetValue($oInput, $sTxt)
$oButton = _IEGetObjById($oIE2, "currinfo_save")
_IEAction($oButton, "click")
Sleep(5000)
_IEQuit($oIE2)
 
Верх