Войти

Показать полную графическую версию : Как захватить форму с логином на 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>

И в ней находятся поля ввода логина и пароля.

beve
31-05-2009, 16:30
Вот тебе пример с 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").

SyDr
31-05-2009, 18:50
#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")

Iska
31-05-2009, 19:00
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 коде?

SyDr
01-06-2009, 12:31
Отсчёт с нуля начинается. То есть индекс будет <номер формы на странице> - 1




© OSzone.net 2001-2012