Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Как захватить форму с логином на rambler.ru? (http://forum.oszone.net/showthread.php?t=141500)

Twix1124 31-05-2009 12:46 1131563

Как захватить форму с логином на rambler.ru?
 
Не пойму... Там ни имени нет, ни id у формы...

FlatX007 31-05-2009 14:33 1131609

Я вот например понятие неимею, что за форма ...хоть скрин выложи и инфу c AutoIT Windows Info

Twix1124 31-05-2009 14:40 1131611

Лол =)
Это форма html:
<form> </form>

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

beve 31-05-2009 16:30 1131656

Вот тебе пример с 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 1131729

Брр... Специально написал адрес и сказал что там, В ОТЛИЧИИ от мейла, нет имени формы (в данном случае она имеется - "Augh").

SyDr 31-05-2009 18:50 1131743

Код:

#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 1131749

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 1132137

Спасибо, то, что надо=)
А индекс у формы будет такой, какая по порядку является форма в html коде?

SyDr 01-06-2009 12:31 1132186

Отсчёт с нуля начинается. То есть индекс будет <номер формы на странице> - 1


Время: 15:52.

Время: 15:52.
© OSzone.net 2001-