Что нового

[Сеть, интернет] Клик по ссылке в Botva Online

oneDmitry

Новичок
Сообщения
55
Репутация
3
Доброго времени суток, вообще делаю я бота на Botva Online, и всё хорошо получается, и вот те раз, столкнулся с такой проблемой, надо щёлкнуть на ссылку, но на странице их 8-мь одинаковых, как быть ?

вот код на которые требуется нажимать

Код:
<FORM class=inline action=mine.php?a=shop&amp;buy=0&amp;k=xxxxx method=post><INPUT class="image cmd" id=img_0 onmouseover="doImage(this,'buttons/b_buy')" style="WIDTH: 62px; HEIGHT: 30px" type=image alt=Купить src="images/buttons/b_buy_p.png" name=do> <SPAN class=price>Цена: 1280 <IMG class=png alt=Золото src="/images/ico_gold1.png" align=absMiddle></SPAN></FORM></DIV></TD></TR>
<TR>
<TH colSpan=2>Очки <SPAN class=normal>(Ваши вещи: 0 шт)</SPAN> 
<TR>
<TD class=image title=Очки style="BACKGROUND: url(images/items/Mine_2.jpg) no-repeat">
<TD>
<DIV class=desc>Описание:</DIV>
<DIV class=desc2>Увеличивает шансы добычи кристаллов на 5 процентов. Количество применений – 10.</DIV>
<DIV class=desc3> 
</DIV>
<DIV class=price>
<FORM class=inline action=mine.php?a=shop&amp;buy=1&amp;k=xxxxx method=post><INPUT class="image cmd" id=img_1 onmouseover="doImage(this,'buttons/b_buy')" style="WIDTH: 62px; HEIGHT: 30px" type=image alt=Купить src="images/buttons/b_buy_p.png" name=do> <SPAN class=price>Цена: 320 <IMG class=png alt=Золото src="/images/ico_gold1.png" align=absMiddle></SPAN></FORM></DIV></TD></TR>
<TR>
<TH colSpan=2>Каска <SPAN class=normal>(Ваши вещи: 0 шт)</SPAN> 
<TR>
<TD class=image title=Каска style="BACKGROUND: url(images/items/Mine_3.jpg) no-repeat">
<TD>
<DIV class=desc>Описание:</DIV>
<DIV class=desc2>Увеличивает шансы добычи кристаллов на 5 процентов. Количество применений – 10.</DIV>
<DIV class=desc3> 
</DIV>
<DIV class=price>
<FORM class=inline action=mine.php?a=shop&amp;buy=2&amp;k=xxxxx method=post><INPUT class="image cmd" onmouseover="doImage(this,'buttons/b_buy')" type=image alt=Купить src="images/buttons/b_buy_p.png" name=do> <SPAN class=price>Цена: 480 <IMG class=png alt=Золото src="/images/ico_gold1.png" align=absMiddle></SPAN></FORM></DIV></TD></TR>
может кто подскажет как поделить эти ссылки, типо на id там какое ни буть, и что бы можно было нажать на каждую если это необходимо ?
 
Автор
O

oneDmitry

Новичок
Сообщения
55
Репутация
3
Re: [Сеть, интернет] Клик по ссылке

Выяснил ещё такую инфу, после того как покупаешь к примеру кирку, то тебя переадресовывает вот на такую ссылку
http://g1.botva.mail.ru/mine.php?a=shop&buy=0&k=x
где
0 - номер вещи, кирка 0, Очки 1 и т.д
и ещё одно число
x - пятизначное, не знаю как оно генерируется

В общем пробую щас ссылку генерировать, сделал рандомный генератор пятизначных чисел и прибавил его к этой ссылке, глупо конечно, а вдруг получится =) :IL_AutoIt_1:
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Re: [Сеть, интернет] Клик по ссылке

$sID - это параметр поиска по тегам <INPUT class="image cmd" id=img_1
Ищет, при совпадении, кликнет "Купить".
Код:
#include <IE.au3>

Dim $sID = "img_1"

$oIE = _IECreate("http://")
$oInputs = _IETagNameGetCollection ($oIE, "input")
$i = 0
For $oInput In $oInputs
	If $sID = $oInput.id Then 
	_IEFormImageClick($oIE,"Купить","alt",$i)
	Exit
	EndIf
	$i = $i + 1
Next
 
Автор
O

oneDmitry

Новичок
Сообщения
55
Репутация
3
Re: [Сеть, интернет] Клик по ссылке

да я вроде своими силами справился, щас только время подойдёт что бы протестировать :blink:
пока думал как сделать, переписал полностью весь алгоритм бота 8) и если покупка будет работать, то все остальные функции сделать не проблема :IL_AutoIt_1:

если всё получится, выложу как сделал эти ссылки, но не всего бота =)
 
Автор
O

oneDmitry

Новичок
Сообщения
55
Репутация
3
Re: [Сеть, интернет] Клик по ссылке

оказалось всё проще простого, надо было получше посмотреть код страницы, в самом коде есть полная ссылка

<div class='price'><form method='POST' action='mine.php?a=shop&buy=0&k=17444' class='inline'><input type='image' name='do' class='image cmd' src='images/buttons/b_buy_p.png' alt='Купить' onMouseOver="doImage(this,'buttons/b_buy')"/ >

осталось только вытащить этот самый id из кода и всё, а делается это так

Код:
#EndRegion функция поиска ссылки для покупки Кирки в купильне
Func _link_buy_pike() 
	$sHTML = _IEBodyReadHTML ($oIE) ; читаем HTML код старницы
		$array1 = StringRegExp($sHTML, '<FORM class=inline action=mine.php.a=shop&amp.buy=0&amp.k=(.*?) method=post>', 1, $nOffset) ; ищем в коде то что нам нужно, а именно тот id
	If @error = 0 Then
		$nOffset = @extended
    Else
    EndIf
    for $i = 0 to UBound($array1) - 1
        msgbox(0, "Ссылка на покупку", "http://g1.botva.mail.ru/mine.php?a=shop&buy=0&k=" & $array1[$i], 5) ; выдём сообщение с готовый ссылкой на покупку
    Next
EndFunc
 
Верх