Что нового

[Автоматизация] Как реализовать избираемое нажатие идентичных кнопок в IE

Nazgul666

Знающий
Сообщения
21
Репутация
9
В данном коде нужно реализовать нажатие на нужную кнопку.
Вся проблема в том, что различия у них только в id, я не знаю как к нему прицепиться, пытался через "индекс", но что - то не работает...
Ниже код последних трех кнопок, выше них могут быть другие, но их id мне неизвестен.
Код:
<div style="float: right"><input class="battl_b" type="button" value="Начать тренировку" onclick="location.href='game.php?act=to_train&type=3&tid=1'"></div>
<div style="float: right"><input class="battl_b" type="button" value="Начать тренировку" onclick="location.href='game.php?act=to_train&type=3&tid=2'" ></div>	
<div style="float: right"><input class="battl_b" type="button" value="Начать тренировку" onclick="location.href='game.php?act=to_train&type=3&tid=3'" ></div>
Скрипт нажимает только на первую кнопку... в независимости от того какую выбрать
Код:
$oInputs = _IETagNameGetCollection ($oFrame, "input")
    $numInputs=@EXTENDED                 
	$num = InputBox('Number', 'Введите порядковый номер тренировки. Максимальный номер - '& $numInputs)
	$i=1				                     
					For $oInput In $oInputs
      If ((String($oInput.value) = "Начать тренировку") & ($i==$num)) Then
					       _IEAction($oInput, "click")
						   ;MsgBox(0, "", $i)
                           ExitLoop
					    EndIf
					    $i=$i+1
                    Next
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Nazgul666,
Попробуйте так.
Код:
;...
$oDivs = _IETagNameGetCollection($oFrame, 'div')
For $oDiv In $oDivs
	ConsoleWrite($oDiv.innerhtml & @LF)
	If StringInStr($oDiv.innerhtml, 'tid=2') Then ;или что Вам нужно
		$oInput = _IETagNameGetCollection($oDiv, 'input', 0)
		_IEAction($oInput, 'click')
		;_IELoadWait($oIE)
		ExitLoop
	EndIf
Next
;...
Проверку на ошибки не делал.
 
Верх