Что нового

[Сеть, интернет] Как отжать CheckBox в IE?

Статус
Закрыто для дальнейших ответов.

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Вот кусок исходного кода страницы:
Код:
<div class="bar-login"><div class="corner"><table><tr><td class="inside"><form action="/" method="post">
<input type="hidden" name="action" value="login"><label for="login-email"><b>E-mail</b>: </label><input type="text" name="email" id="login-email" maxlength="30">

									   
									<label for="login-password"><b>Пароль</b>: </label><input type="password" name="password" id="login-password" maxlength="40">
									   
									<button type="submit" class="button"><span class="f"><i class="rl"></i><i class="bl"></i><i class="brc"></i><div class="c">Войти</div></span></button>
									   
									<input type="checkbox" name="remember" id="login-remember" checked><label for="login-remember"> Запомнить меня</label>
									   
									<a href="/auth/remind/">Забыли пароль?</a>

</form></td></tr></table></div></div>

Вот код которым я пытаюсь это сделать:
Код:
#include <IE.au3>
$oIE = _IECreate ("http://www.moswar.ru")
$oForm = _IEFormGetObjByName ($oIE, 0)
$oLogin = _IEFormElementGetObjByName ($oForm, "email")
$oPassword = _IEFormElementGetObjByName ($oForm, "password")
_IEFormElementSetValue ($oLogin, "login")
_IEFormElementSetValue ($oPassword, "password")
_IEFormElementCheckboxSelect ($oForm, "", "remember", 0)



Добавлено:
Сообщение автоматически объединено:

@error возвращает 7: ($_IEStatus_NoMatch) = No Match.
Помогите, я в работе web вообще 0 :(


Добавлено:
Сообщение автоматически объединено:

Методом научного тыка было вычислено что правильная строка будет выглядеть так:
Код:
_IEFormElementCheckboxSelect ($oForm, 0, "remember", 0, "byIndex")

Объясните почему? :smile:
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Belfigor
Замените строку в вашем примере:
Код:
_IEFormElementCheckboxSelect ($oForm, 0, "", 0, "byIndex")
 
Автор
Belfigor

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Garrett сказал(а):
Belfigor Замените строку в вашем примере:
Код:
_IEFormElementCheckboxSelect ($oForm, 0, "", 0, "byIndex")
Вопрос то как отжать чекбокс уже решен. Остается вопрос как понять что вписывать в команду чтобы его отжать? Ибо к положительному результату я пришел исключительно через пол часа перебирания различных возможных вариантов "правильного оформления" запроса.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Belfigor [?]
Остается вопрос как понять что вписывать в команду чтобы его отжать?
_IEFormElementCheckboxSelect ("Объект", "Значение чекбокса value="" ", "Индекс или имя чекбокса", "0 - снять / 1 - поставить", "byIndex - ориентируемся на индекс / byValue - ориентируемся на значение чекбокса value="" ")
 
Автор
Belfigor

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Garrett сказал(а):
Belfigor Re: [Сеть, интернет] Как отжать CheckBox в IE?)][?]
Остается вопрос как понять что вписывать в команду чтобы его отжать?
_IEFormElementCheckboxSelect ("Объект", "Значение чекбокса value="" ", "Индекс или имя чекбокса", "0 - снять / 1 - поставить", "byIndex - ориентируемся на индекс / byValue - ориентируемся на значение чекбокса value="" ")
В моем случае:
Код:
<input type="checkbox" name="remember" id="login-remember" checked><label for="login-remember"> Запомнить меня</label>
Значение чек бокса - Что это? Оно у меня я так понимаю не указано и поэтому у меня value = 0?
Индекс или имя Чекбокса. Что это? Индекс моего чек бокса - id="login-remember", а имя моего чек бокса - name="remember" или я не прав? Если прав то почему мы не указываем имя или индекс моего чек бокса при запросе?
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Belfigor [?]
Оно у меня я так понимаю не указано и поэтому у меня value = 0?
Да, его у вас нет! Поэтому остаётся только индекс!
Индекс или имя Чекбокса. Что это?
Это порядковый номер. Чекбоксов может быть и десять.
Индекс моего чек бокса - id="login-remember"
Нет, это ID вашего чекбокса. Не путайте его с порядковым номером (индекс - array_collection(index))
имя моего чек бокса - name="remember" или я не прав?
Правы!
Если прав то почему мы не указываем имя
Код:
_IEFormElementCheckboxSelect ($oForm, 0,"remember", 0, "byIndex")
_IEFormElementCheckboxSelect ($oForm, 0,"login-remember", 0, "byIndex")
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Предупреждение
papateodoro
Эта тема решена! Создайте новую тему и опубликуйте в ней свой вопрос.

С уважением, ваш Модератор.
 
Статус
Закрыто для дальнейших ответов.
Верх