Что нового

[Автоматизация] Нажатие кнопки в IE без ID, NAME, Value.

Автор
D

Dk

Новичок
Сообщения
358
Репутация
2
К сожалению не нажимает. Он просто не види ету кнопку.
Ведь как я выше сказал и показал на картинке, окно всплывает и мне не ясно что ето за тип кнопки.

Вот на етой ссылке я нажимаю кнопку потом всплывает окно в котором я хочу нажать ту кнопку над которй мучаюсь
http://www.sellermania.de/SellerDE/inventory/


Дело скорее всего не в нажатии, а в том что программа ищет кнопку на http://www.sellermania.de/SellerDE/inventory , a она возможно на другом URL :-X


Обратите внимание пожалуйсто именно на картинку.
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
375
Dk [?]
К сожалению не нажимает. Он просто не види ету кнопку.

А в консоль пишет "Найдена кнопка! Жмем!"?

Скорее всего это не отдельное окно, а просто блок <div> , созданный или помещенный по центру экрана javascript-ом. Но можно проверить, скрипт должен вывести содержимое блока span (внутри кнопки) с нужным классом, если не выводит, то можно попробовать тупо кликать по цвету кнопки, или просто по координатам, если кнопка всегда в одном месте появляется (PixelSearch() +
MouseClick())
Код:
#include <IE.au3>

$oIE=_IECreate('https://......')
$oBs=_IETagNameGetCollection($oIE,'span')

For $oB In $oBs
    If $oB.classname = 'ui-button-text' Then
        ConsoleWrite('SPAN найден!' & @CRLF)
        ConsoleWrite('Содержимое: ' & $oB.innerHTML & @CRLF)
        ExitLoop
    EndIf
Next
 
Автор
D

Dk

Новичок
Сообщения
358
Репутация
2
Обычное нажатие по цвету или по координатам не подходит, так как за компютером будут работать.


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

В первом вашем скрипте пишет НАЙДЕНА КНОПКА ЖМЁМ но он не жмёт.

Во тором также пишет SPAN найден! Содержимое: и всё (самого содержимого нет)
 

DezmontDeXa

Новичок
Сообщения
23
Репутация
0
Re: [Автоматизация] Нажатие кнопки в IE без ID, NAME, Value

madmasles сказал(а):
Dk [?]
Нужно что бы была алтернатива, тоесть нажатиe кнопки без Value, ID, Name
Дайте ссылку на такую страницу (если найдете). На https://www.sellermania.de/SellerDE/login есть и ID, и Name, и прочие атрибуты.

Даю пример:
https://www.google.com/settings/security/lesssecureapps там никаких id. Выбор опции - jsController связанный с css. До сих пор не могу добиться клика.


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

DezmontDeXa сказал(а):
madmasles сказал(а):
Dk [?]
Нужно что бы была алтернатива, тоесть нажатиe кнопки без Value, ID, Name
Дайте ссылку на такую страницу (если найдете). На https://www.sellermania.de/SellerDE/login есть и ID, и Name, и прочие атрибуты.

Даю пример:
https://www.google.com/settings/security/lesssecureapps там никаких id. Выбор опции - jsController связанный с css. До сих пор не могу добиться клика.

Нашел решение
Код:
#include <IE.au3>

$oIE = _IECreate("https://www.google.com/settings/security/lesssecureapps")
;_IENavigate($oIE, "https://www.google.com/settings/security/lesssecureapps")
_IELoadWait($oIE)

$oBs=_IETagNameGetCollection($oIE,'div')
Local $flag = 0
For $oB In $oBs
	  if $oB.role = "Radio" Then
		 if $flag = 0 Then
			$flag = 1
			ContinueLoop
		 Else
			ConsoleWrite($oB.role)
			_IEAction($oB, "click")
		 EndIf
	  EndIf
Next


Может есть способ изящнее?
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Re: [Автоматизация] Нажатие кнопки в IE без ID, NAME, Value

Код:
$oIe.document.querySelector('div[role="radio"][data-value="enabled"]').click()
 

mef-t

Осваивающий
Сообщения
306
Репутация
30
Re: [Автоматизация] Нажатие кнопки в IE без ID, NAME, Value

Добавлю сюда вопрос.
Как быть если у кнопки есть только класс, точнее несколько классов. Но в зависимости от некоторых событий, расположение классов меняется.
Т.е. такой подход не работает
Код:
If $oB.classname = 'ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only' Then

Просьба подсказать простую конструкцию проверки наличия каждого класса в теге.
 
Верх