Что нового

[Сеть, интернет] Проблемы нажать на кноку на странице обычным способом

zuroin

Новичок
Сообщения
8
Репутация
0
Привет всем.
Читаю ваш форум от недавнего времени, пока все было понятно, но тут столкнулся с проблемой((
Скорее всего решение банальное, но не нашел на форуме((
Вот как расположена кнопка:
Код:
<tr bgcolor=#E7E3E7><td colspan=3 align=center>
          <input value='Обновить' type=button OnClick="
		  this.disabled=true;
		  this.style.color= 'gray';
          r=Math.floor( Math.random() * (4 - 1 + 1) ) + 1;
          document.getElementById('A'+r).checked=true;
          r=Math.floor( Math.random() * (4 - 1 + 1) ) + 1;
          document.getElementById('D'+r).checked=true;
          document.F1.submit();
          ">               
          </td></tr>
немогу нажать кнопку не по имени, не по айди, не по тексту на кнопке(( т.к. их нету
Подскажите пожалуйста как нажать кнопку по value или как ее вообще возможно нажать?
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Код:
#include <IE.au3>
$oIE = _IECreate("http://")
$oInputs = _IETagNameGetCollection($oIE, "input")
For $oInput In $oInputs
	If $oInput.value == StringStripWS("Обновить!", 3) Then
		_IEAction($oInput, "click")
		ExitLoop
	EndIf
Next
 

Sp01LeR

Знающий
Сообщения
45
Репутация
12
@Garrett - все-таки сначала желательно проверять выложенное решение...

Код:
#include <IE.au3>
$oIE=_IECreate()
$sHTML = "<html><head><title>test_disabled</title></head><body>"
$sHTML &= '<form action="http://zero" method="get">'
$sHTML &= '<input type="text" id="Num" name="nmNum" value="123" />'
$sHTML &= '<input type="button" id="But" name="nmBut" disabled="disabled" value="Пуск" onclick="this.form.submit();" />'
$sHTML &= '</form></body></html>'
_IEDocWriteHTML ($oIE, $sHTML)
Sleep(2000)
$oInputs = _IETagNameGetCollection($oIE, "input")
For $oInput In $oInputs
	If $oInput.disabled Then
		_IEAction($oInput, "click") ; сначала кликаем на заблокированый элемент
		MsgBox(0,$oInput.id, "$oInput.disabled="&$oInput.disabled)
		If $oInput.disabled Then $oInput.disabled = ""
		Sleep(1000)
		_IEAction($oInput, "click") ; кликаем на разблокированый элемент
		MsgBox(0,$oInput.id, "$oInput.disabled="&$oInput.disabled)
	EndIf
Next
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Sp01LeR [?]
@Garrett - все-таки сначала желательно проверять выложенное решение...
А в чём собственно проблема? Решение не работает?
 
Автор
Z

zuroin

Новичок
Сообщения
8
Репутация
0
<b>@Garrett [?]</b>
Спасибо, отлично выручили. Понял теперь) :IL_AutoIt_1:


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

<b>@Sp01LeR [?]</b>
Ваш код не совсем то делает, но тоже очень полезная вещь!
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
zuroin к вам маленькая просьба, оформляйте код в bbCode
code.gif
и
autoit.gif
. Это придумали не зря, поверьте ;)
Лично я могу копаться в коде и в таком виде, но надо признать, это архи неудобно!
К тому же форум посещают и другие коллеги, которые готовы вам помочь, и неформатированный код, может сбивать с толку.

Всегда рад помочь.
 

Sp01LeR

Знающий
Сообщения
45
Репутация
12
А в чём собственно проблема? Решение не работает?

_IEAction($oInput, "click") не "тыкнет" заблокированую кнопку - я же для этого и написал свой пример, правда, я не тестировал этот код в 8-ом ишаке...
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Sp01LeR [?]
_IEAction($oInput, "click") не "тыкнет" заблокированую кнопку - я же для этого и написал свой пример, правда, я не тестировал этот код в 8-ом ишаке...
Не сочтите за дерзость, и внимательнее посмотрите код приведённый zuroin`ом
 
Автор
Z

zuroin

Новичок
Сообщения
8
Репутация
0
Garrett [?]
Ок, поправил. В будущем буду аккуратнее посты делать.

Sp01LeR
Да, не тыкает, но кнопка не была заблокированна.
Но я уже нашел где применить Ваш код, даже незнал ,что так возможно)
 

Sp01LeR

Знающий
Сообщения
45
Репутация
12
Garrett сказал(а):
внимательнее посмотрите код

Теперь понятно, код то я посмотрел внимательно, но просто не понял сути вопроса...
Очень часто бывает так, что в неотлаженном джава-скрипте при сабмите и отправке данных через Аякс кнопка остается заблокированной и нужно перезагружать страницу, чтобы нажать на нее снова, вот поэтому я подумал что вся проблема в disabled... :smile:
 
Верх