Что нового

Нажатие на button под span

undeadx2

Новичок
Сообщения
11
Репутация
0
http://rdrgame.ru/game/#/163/recon/302/

Код:
<span style="display: inline;">Отправить войска в разведку? <button>Да</button>  <button>Нет</button></span>
<button type="button" class="transfer_confirm submit" style="display: none;">Отправить войска в разведку</button>

вообще сайт - rdrgame.ru
логин - [email protected]
пароль - 0909

В общем проблема такова - существует кнопка без id и name, click by text - разумеется не работает, после нажатия кнопки "отправить войска..." на месте этой кнопки возникают две других -"да" и "нет".
Вопрос как добраться до этих кнопок? Не очень хочется делать через пиксель серч или что то подобное. Зы - по форуму ищу второй день, но так и не понял как это сделать. Заранее спасибо)
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Re: Нажатие на button и последующую button

Очередная тема из миллиона как найти то, у которого нет ни name ни id.
Пора бы уже администраторам прикрепить какой нибудь FAQ по этой теме.
 
Автор
U

undeadx2

Новичок
Сообщения
11
Репутация
0
Re: Нажатие на button и последующую button





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

После очередного марафона по форуму нашел замечательную вещь -
Код:
_IETagClassClick($oIE, 'button', 'transfer_confirm submit', 'Отправить войска в разведку')


Но проблема с подтверждением все еще остается - первая кнопка нажимается, остается как то нажать "да" или "нет".. class я там не вижу=(
 

DarWiM

Продвинутый
Сообщения
527
Репутация
90
Код:
...
$oButtons=_IETagNameGetCollection($oIE,'button')
For $oButton In $oButtons
    If $oButton.innertext='да' Then
        $oButton.click
        ExitLoop
    EndIf
Next
...


Таким же способом можно нажать и на первую кнопку
 
Автор
U

undeadx2

Новичок
Сообщения
11
Репутация
0
Код:
Global $oIE = _IECreate('http://rdrgame.ru/game/#/163/recon/302/')
If @error Then
    MsgBox(16, 'Error', '_IECreate')
    Exit
EndIf





_IETagClassClick($oIE, 'button', 'transfer_confirm submit', 'Отправить войска в разведку')

Func _IETagClassClick($o_Obj, $s_TagName, $s_ClassName, $s_Innertext = 'да')
    Local $o_Tags

    If Not IsObj($o_Obj) Then Return SetError(1)
    If (Not $s_TagName Or Not $s_ClassName) Then Return SetError(1)
    $o_Tags = _IETagNameGetCollection($o_Obj, $s_TagName)
    If @error Then Return SetError(1)
    For $o_Tag In $o_Tags
        If $o_Tag.ClassName == $s_ClassName Then
            If $s_Innertext Then
                If $o_Tag.innertext == $s_Innertext Then
				  
                    _IEAction($o_Tag,'click')
				  
                    If @error Then Return SetError(1)
                    _IELoadWait($o_Obj)
                    If @error Then Return SetError(1)
                    Return SetError(0)
                EndIf
            Else
                   
                    _IEAction($o_Tag,'click')
                If @error Then Return SetError(1)
                _IELoadWait($o_Obj)
                If @error Then Return SetError(1)
                Return SetError(0)
            EndIf
        EndIf
	 Next
	 
	 
    Return SetError(2)

 EndFunc   ;==>_IETagClassClick


На данный момент такой вариант, с вашим вариантом, не происходит клика.. Если правильно понимаю код - то он ищет кнопки а потом если находит в кнопке определенный текст кликает по ней?
 

DarWiM

Продвинутый
Сообщения
527
Репутация
90
undeadx2
Код:
#include <IE.au3>
$oIE = _IECreate('http://rdrgame.ru/game/#/163/recon/302/')
$oButtons=_IETagNameGetCollection($oIE,'button')
For $oButton In $oButtons
	;ConsoleWrite($oButton.classname & @LF)
	If $oButton.classname=='transfer_confirm submit' Then
		_IEAction($oButton,'click')
		_IELoadWait($oIE)
		ExitLoop
	EndIf
Next
$oButtons=_IETagNameGetCollection($oIE,'button')
For $oButton In $oButtons
	;ConsoleWrite($oButton.innertext & @LF)
	If $oButton.innertext=='Да' Then
		_IEAction($oButton,'click')
		_IELoadWait($oIE)
		ExitLoop
	EndIf
Next


Странно, что $oButton.click в данном случае не срабатывает, хотя _IEAction($oButton,'click') работает
 
Автор
U

undeadx2

Новичок
Сообщения
11
Репутация
0
:laugh: :laugh:
Огромное спасибо))) Полез в справочник разбираться с
Код:
ConsoleWrite($oButton.innertext & @LF)
- т.к. первый раз с таким сталкиваюсь))
 

DarWiM

Продвинутый
Сообщения
527
Репутация
90
undeadx2
Используется для проверки при написании, не более
 
Верх