Что нового

[Автоматизация] Нажать на нужную кнопку

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

Evochka Turkova

Новичок
Сообщения
39
Репутация
0
Помогите! :'(

На странице имеется несколько кнопок с одинаковыми названиями. Мне необходимо нажать на одну. Использовала такой скрипт:

Код:
Func Enter()

   $oLinks=_IETagNameGetCollection($oIE, 'a')
   Global $TmpR = -1

   For $oLink In $oLinks
	  If StringInStr(_IEPropertyGet($oLink, 'outerhtml'), 'Enter') Then
		 _IEAction($oLink, 'click')
		    Sleep(10000)
		 ExitLoop
	  EndIf
   Next
EndFunc


В исходном коде имеются различия в:

Код:
<a class="btn_enter_content" href="javascript:enter( 1);">Enter</a>
Код:
<a class="btn_enter_content" href="javascript:enter( 2);">Enter</a>
Код:
<a class="btn_enter_content" href="javascript:enter( 3);">Enter</a>

Помогите!!!
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Evochka Turkova [?]
Мне необходимо нажать на одну
На какую из этих трех?
Выбирайте сами.
Код:
#include <IE.au3>

$sUrl = @ScriptDir & '\2.html'

$oIE = _IECreate($sUrl)
$oLinks = _IETagNameGetCollection($oIE, 'a')
If @error Then Exit 13
For $oLink In $oLinks
	ConsoleWrite('First: ' & $oLink.ClassName & @TAB & $oLink.href & @TAB & $oLink.innertext & @LF)
	ConsoleWrite('Second: ' & $oLink.attributes.getNamedItem('class' ).nodeValue & @TAB & $oLink.attributes.getNamedItem('href' ).nodeValue & @TAB & $oLink.innertext & @LF)
	ConsoleWrite('---' & @LF)
Next

2.html:
Код:
<html>
<head>
<title>Test</title>
<a class="btn_enter_content" href="javascript:enter( 1);">Enter</a>
<a class="btn_enter_content" href="javascript:enter( 2);">Enter</a>
<a class="btn_enter_content" href="javascript:enter( 3);">Enter</a>
</html>
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Код:
$oLinks = _IETagNameGetCollection($oIE, 'a')
If @error Then Exit 13
For $oLink In $oLinks
    If $oLink.ClassName == "btn_enter_content" And StringInStr($oLink.href, "3") Then
         _IEAction($oLink, 'click')
            Sleep(10000)
         ExitLoop
   EndIf
Next
 
Автор
E

Evochka Turkova

Новичок
Сообщения
39
Репутация
0
Спасибочки всем, все работает :laugh: :laugh: :laugh: Единственное что подправила это:

Код:
If $oLink.ClassName == "btn_enter_content" And StringInStr($oLink.href, "3") Then


на

Код:
If $oLink.ClassName == "btn_enter_content" And StringInStr($oLink.href, " 3") Then
 

vladimir_v_m80

Новичок
Сообщения
4
Репутация
0
Пожалуйста помогите нажать на нужную кнопку:
Код:
<li class="ma-ticket_controls-refresh" data-value="1878385573">
                                <a href="#" title="Обновить" class="js-item-update" data-role="update_advert" data-id="1878385573">
                                    <span class="ma-ticket_controls__icon"></span>
                                    <span class="ma-ticket_controls__text">Обновить</span>
                                </a>
                            </li>

И как должен быть выглядеть код, если нажимаешь на одну кнопку?
 

Вложения

  • Нажать кнопку обновить.jpg
    Нажать кнопку обновить.jpg
    108.4 КБ · Просмотры: 20

alex33

Скриптер
Сообщения
1,457
Репутация
186
Нажать по data-id:
Код:
$oLinks = _IETagNameGetCollection($oIE, 'a')
If @error Then Exit 111
For $oLink In $oLinks
	If $oLink.getAttribute("data-id") == "1878385573" Then
		_IEAction($oLink, "click")
		ExitLoop
	EndIf
Next

либо
Код:
$oIE.document.querySelector('a[data-id="1878385573"]').click() ; не работает в IE <= 6
 
Статус
Закрыто для дальнейших ответов.
Верх