Что нового

Проблема с входом на сайт (автоматизация IE)

Woland_D

Новичок
Сообщения
18
Репутация
2
Доброй всем ночи.
Может, кто-то сможет помочь - есть такой сайт (не сочтите за рекламу, и необращайте внимание на его контент) http://www.vpostele.net/
Необходимо выполнить вход в сайт.
Бьюсь второй вечер - не получается. Тестовый логин/пароль
[email protected]/master911dm
По имени и ай-ди доступ к полям не получился. В таких случаях использую обычно такой код:
Код:
$oIE = _IECreate("http://www.vpostele.net/", 1)
$oForm = _IEFormGetCollection ($oIE, 0)
$oLogin = _IEFormElementGetCollection ($oForm, 0)
$oPass= _IEFormElementGetCollection ($oForm, 2)
_IELoadWait ($oIE)
_IEFormSubmit ($oForm)

А он не работает. Кто-то может пнуть в нужном направлении... А то как в присказке "или лыжи не едут, или я ..." Заранее, большое спасибо.
 

Viktor217

Осваивающий
Сообщения
233
Репутация
31
Re: Проблемы с вводом данных в форму, автоматизация ИЕ

Вырезка из правил, ты вроде как нарушил, исправь название темы:
Код:
8. Так как эта конференция называется "Русское сообщество AutoIt", язык общения на ней - Русский. Названия фирм или программных продуктов, аббревиатуры и т.д. должны быть написаны так, как они пишутся в оригинале, например не следует писать УСБ вместо USB. На форуме крайне не рекомендуется намеренно искажать русский язык и использовать "сетевой жаргон" на подобии "Аффтар выпей йадау!". Орфографически грамотно составленное сообщение повышает вероятность того, что его прочтут (дочитают до конца) большее количество пользователей этого форума, и как следствие увеличивает шансы для Вас получить быстрый и своевременный ответ на свой вопрос. Проявляйте уважение к другим пользователям форума, ведь может случиться так, что Ваш безграмотный вопрос, в силу плохого знания русского языка, кто-нибудь посчитает за оскорбление. Если по каким-то причинам у Вас плохо с орфографией, то Вы можете воспользоваться сетевыми сервисами для проверки орфографии.
 

madmasles

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

$sUrl = 'http://www.vpostele.net/'
$sUser = '[email protected]'
$sPass = 'master911dm'

$oIE = _IECreate($sUrl)
$oInputs = _IETagNameGetCollection($oIE, 'input')
$oButtons = _IETagNameGetCollection($oIE, 'button')
For $oInput In $oInputs
	If $oInput.type == 'text' And $oInput.name == 'email' Then
		_IEFormElementSetValue($oInput, $sUser)
	ElseIf $oInput.type == 'password' And $oInput.name == 'pass' Then
		_IEFormElementSetValue($oInput, $sPass)
	EndIf
Next
For $oButton In $oButtons
	If $oButton.type == 'submit' And $oButton.name == 'send' Then
		_IEAction($oButton, 'click')
	EndIf
Next
_IELoadWait($oIE)
 
Автор
Woland_D

Woland_D

Новичок
Сообщения
18
Репутация
2
Спасибо.
Работает. Не пойму, почему не работает с указанием по номеру, и установкой значения через _IEFormElementSetValue, теперь не важно...

Тема закрыта, Большое Спасибо. Возьму такой метод на вооружение!
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Woland_D [?]
Не пойму, почему не работает с указанием по номеру, и установкой значения через _IEFormElementSetValue

Почему сразу не работает?
Код:
#include<IE.au3>
$oIE = _IECreate("http://www.vpostele.net/")
$oForm = _IEFormGetCollection($oIE, 0)
$oLogin = _IEFormElementGetCollection ($oForm, 0)
_IEFormElementSetValue($oLogin, '[email protected]')
$oPass= _IEFormElementGetCollection($oForm, 1)
_IEFormElementSetValue($oPass, 'master911dm')
_IEFormSubmit($oForm)


теперь не важно...
Ну, если только вам это сиюминутно нужно!
 
Верх