Показать полную графическую версию : Как захватить форму с логином на rambler.ru?
Twix1124
31-05-2009, 12:46
Не пойму... Там ни имени нет, ни id у формы...
FlatX007
31-05-2009, 14:33
Я вот например понятие неимею, что за форма ...хоть скрин выложи и инфу c AutoIT Windows Info
Twix1124
31-05-2009, 14:40
Лол =)
Это форма html:
<form> </form>
И в ней находятся поля ввода логина и пароля.
Вот тебе пример с mail.ru, на этом форуме ранее уже не раз обсуждались подобные вопросы, поэтому по аналогии с авторизации с mail.ru сделай себе для рамблера:#include <IE.au3>
$oIE = _IECreate (" http://mail.ru/")
_IELoadWait ($oIE)
$oForm = _IEFormGetObjByName ($oIE, "Auth")
$oSelect = _IEFormElementGetObjByName ($oForm, "Domain")
$oUser =_IEGetObjByName($oIE,"login")
$oPass =_IEGetObjByName($oIE,"password")
_IEFormElementSetValue ($oUser, 'Гав_Гав') ;тут вводим свой логин
_IEFormElementSetValue ($oPass, 'Мой пароль') ; тут вводим свой пароль
; При необходимости отмечаем чекбокс Чужой компьютер
_IEFormElementCheckboxSelect ($oForm, "1", "", 1, "byValue")
;Выбираем нужный домен из списка ниже, но только один
;_IEFormElementOptionSelect ($oSelect, "mail.ru", 1, "byValue")
;_IEFormElementOptionSelect ($oSelect, "inbox.ru", 1, "byValue")
;_IEFormElementOptionSelect ($oSelect, "bk.ru", 1, "byValue")
_IEFormElementOptionSelect ($oSelect, "list.ru", 1, "byValue")
; Дальше идет нажатие на кнопку Войти
_IEFormSubmit ($oForm)
Exit
В этом примере переменная $oForm как раз захватывает одну из форм, в данном случае это форма Auth.
Чтобы узнать необходимые значения (Форм, полей ввода), нужно использовать DebugBar, описание этой панельки для ie есть тута:http://forum.oszone.net/thread-129417.html
И еще данный код работает только с обозревателем IE.
Twix1124
31-05-2009, 18:28
Брр... Специально написал адрес и сказал что там, В ОТЛИЧИИ от мейла, нет имени формы (в данном случае она имеется - "Augh").
#include <IE.au3>
$oIE = _IECreate ("http://rambler.ru")
$oForm = _IEFormGetCollection ($oIE, 1)
$Login = _IEFormElementGetObjByName($oForm, "login")
$Password = _IEFormElementGetObjByName($oForm, "passw")
_IEFormElementSetValue ($Login, "Login")
_IEFormElementSetValue ($Password, "Password")
Twix1124, попробуйте пользовать «_IEFormGetCollection()» во второй форме:
Function Reference, _IEFormGetCollection
Returns a collection object variable representing the Forms in the document or a single form by index.
Пример есть в справке же.
Twix1124
01-06-2009, 11:16
Спасибо, то, что надо=)
А индекс у формы будет такой, какая по порядку является форма в html коде?
Отсчёт с нуля начинается. То есть индекс будет <номер формы на странице> - 1
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.