клики в форумах Vbulletin

Все вопросы касающиеся использования
программы можно задать здесь
Ответить
ПХПнуп
Сообщения: 15
Зарегистрирован: 04 ноя 2010, 17:52

клики в форумах Vbulletin

Сообщение ПХПнуп » 11 ноя 2010, 15:44

Как кликнуть на батон внизу экрана?
функция что вылазит по правой кнопке не кликает (((
пример здесь:
http://www.animeforum.ru/index.php?act=Reg&CODE=00

wal
Сообщения: 52
Зарегистрирован: 16 апр 2009, 22:47

Re: клики в форумах Vbulletin

Сообщение wal » 11 ноя 2010, 16:05

$button->click_by_number(0);

ПХПнуп
Сообщения: 15
Зарегистрирован: 04 ноя 2010, 17:52

Re: клики в форумах Vbulletin

Сообщение ПХПнуп » 11 ноя 2010, 16:06

wal писал(а):$button->click_by_number(0);
это не работает

Аватара пользователя
Support
Site Admin
Сообщения: 1000
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

Re: клики в форумах Vbulletin

Сообщение Support » 11 ноя 2010, 16:21

Хм. А у меня работает. Галочку согласия с правилами ставите?

ПХПнуп
Сообщения: 15
Зарегистрирован: 04 ноя 2010, 17:52

Re: клики в форумах Vbulletin

Сообщение ПХПнуп » 11 ноя 2010, 17:06

$browser->navigate('http://www.animeforum.ru/index.php?act=Reg&CODE=00');
$browser->wait_for(60,1);
$checkbox->click_by_name('agree_to_terms');
$button->click_by_number(0);

клик приходится на форму поиска почему-то.
как иначе кликнуть на эту кнопку ?

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3057
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: клики в форумах Vbulletin

Сообщение bigfozzy » 11 ноя 2010, 19:49

ПХПнуп писал(а):$browser->navigate('http://www.animeforum.ru/index.php?act=Reg&CODE=00');
$browser->wait_for(60,1);
$checkbox->click_by_name('agree_to_terms');
$button->click_by_number(0);

клик приходится на форму поиска почему-то.
как иначе кликнуть на эту кнопку ?
А так работает ?

Код: Выделить всё

$browser->navigate('http://www.animeforum.ru/index.php?act=Reg&CODE=00');
$browser->wait_for(60,1);
$checkbox->click_by_name('agree_to_terms');
$button->set_focus_by_number(0);
$form->submit_by_number(1);

ПХПнуп
Сообщения: 15
Зарегистрирован: 04 ноя 2010, 17:52

Re: клики в форумах Vbulletin

Сообщение ПХПнуп » 11 ноя 2010, 21:59

bigfozzy писал(а):
ПХПнуп писал(а):$browser->navigate('http://www.animeforum.ru/index.php?act=Reg&CODE=00');
$browser->wait_for(60,1);
$checkbox->click_by_name('agree_to_terms');
$button->click_by_number(0);

клик приходится на форму поиска почему-то.
как иначе кликнуть на эту кнопку ?
А так работает ?

Код: Выделить всё

$browser->navigate('http://www.animeforum.ru/index.php?act=Reg&CODE=00');
$browser->wait_for(60,1);
$checkbox->click_by_name('agree_to_terms');
$button->set_focus_by_number(0);
$form->submit_by_number(1);

так работает. но вопрос:
откуда значение $form и где его искать в будущем?

Аватара пользователя
igvard
Site Admin
Сообщения: 241
Зарегистрирован: 31 июл 2008, 22:53

Re: клики в форумах Vbulletin

Сообщение igvard » 12 ноя 2010, 00:37

ПХПнуп писал(а): так работает. но вопрос:
откуда значение $form и где его искать в будущем?
$form - это объект управления формами вот тут подробного про него и его функции https://xn--80awbbeioodeq4h3a.xn--p1ai/2762.
Посмотреть находится ли объект в форме и номер формы можно используя дерево элементов и элемент инспектор, так же это можно поглядеть в исходном коде страницы.

Вот так выглядит форма с нужной нам кнопкой в исходном тексте страницы:

Код: Выделить всё

<form action="http://www.animeforum.ru/index.php?s=04057bef52cb4eac0ce67493ba401647&act=Reg&coppa_user=&termsread=1&coppa_pass=1" method="post">
	<div class="borderwrap">
		<div class="maintitle">Правила и положения по регистрации</div>
		<table class='ipbtable' cellspacing="1">
			<tr>
				<th>Для продолжения регистрации, вы должны принять нижеследующее:</th>
			</tr>
			<tr>
				<td class="row1"><b>1. Общие положения<br /><br />.....тут текст с положениями .... Также, администрация форума не удаляет по просьбе участников их аккаунты, темы, сообщения и изменения репутации.</td>
			</tr>
			<tr>
				<td class="row2"><label for="agree_cbox"><input class='checkbox' type="checkbox" id="agree_cbox" name="agree_to_terms" value="1" /> <b>Я ознакомился с правилами и условиями и принимаю их</b></label></td>
			</tr>
			<tr>
				<td class="formbuttonrow"><input type="submit" value="Регистрация" class="button" /></td>
			</tr>
			<tr>
				<td class="catend" colspan="2"><!-- no content --></td>
			</tr>
		</table>
	</div>
</form>
Кнопка по нажатию выполняет submit формы, поэтому можно просто сделать submit этой формы напрямую,
а так как на странице перед этим есть ещё одна форма :

Код: Выделить всё

<form action="http://www.animeforum.ru/index.php?s=04057bef52cb4eac0ce67493ba401647&act=Search&CODE=01" method="post">
				<input type='hidden' name='forums' id='gbl-search-forums' value='all' />
				<input type="text" size="20" name="keywords" id='ipb-tl-search-box' />
				<input class="button" type="image" style='border:0px' src="style_images/main[1]/login-button.gif" />
				
</form>
то номер нужной нам формы будет 1, так как номера любых элементов начинаются с 0, то есть в коде это

Код: Выделить всё

$form->submit_by_number(1);

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3057
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: клики в форумах Vbulletin

Сообщение bigfozzy » 12 ноя 2010, 02:01

$button->set_focus_by_number(0);
$form->submit_by_number(1);

я использовал это из-за:

- выделил кусок страницы вместе с кнопкой мышкой
- по конекстному меню выбрал посмотреть исходный текст
- увидел что это кнопка сабмита формы
<INPUT class=button value=Регистрация type=submit>
- дальше открыл инспектор
- нажал на кнопку правой кнопкой мыши, удерживая Ctrl - информация о кнопке появилась в инспекторе
- дальше посмотрел свойства form_number что оно равно '1' и добавил $form->submit_by_number(1);

PS: $button->set_focus_by_number(0); - добавил на всякий случай ...

PS2: Можно было еще проше открыть инспектор и увидеть что у кнопки type='sumbit' и сразу взять там номер формы.

Ответить