Что нового

К чему привязаться для нажатия кнопки? продолжение...

mugger

Новичок
Сообщения
16
Репутация
0
Добрый день.

Прочитал тему.
Все попробовал из написанного, не получается.

Мне нужно кликнуть по одной из пунктов выпадающего списка.
В HTML это выглядит так:

Код:
                <div class="orderContainer">
                    <select name="Action" id="action-select">
                        <option value="None">Нет приказа</option>
                        <option value="Attack">Атака</option>
                        <option value="Hijacking">Захват острова</option>
                        <option value="Reinforcement">Подкрепление</option>
                    </select>
                </div>

Я пока смог только раскрыть этот список на экране:
Код:
Local $Button = _IEGetObjById($oIE, 'action-select')
_IEAction($Button, 'Click')


Но как теперь кликнуть например по "Атака"?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Модератор.



Код:
_IEFormElementOptionSelect()
 

Envoy

Новичок
Сообщения
3
Репутация
0
Код:
#include <IE.au3>
$oIE = _IECreate ("Тут ссылка на страницу")
$oInput = _IEGetObjByName($oIE, "Action")  
    _IEFormElementOptionSelect ($oInput, "Attack", 1, "byValue")
 
Автор
M

mugger

Новичок
Сообщения
16
Репутация
0
Пробовал.
Там навешен скрипт на это действие: "jQuery custom selectboxes"
Когда я на локальной копии убираю этот скрипт - работает. Как включаю - нет.

Сейчас попробую отделить часть со скриптом и выложить.
 
Автор
M

mugger

Новичок
Сообщения
16
Репутация
0
Во вложении кусок внутреннего сайта.
Если убрать функцию "initializeSelectbox" то предложенный Вами вариант работает.

Подскажите пожалуйста, как решить данную проблему.
Спасибо.

Код:
#include <IE.au3>

local $oIE        = _IECreate('file:///C:/temp/teset2.html', 0, 1)
MsgBox(0, "Link Info", "1")
local $oInput = _IEGetObjByName($oIE, "Action")  
_IEFormElementOptionSelect ($oInput, "Yes", 1, "byValue")
MsgBox(0, "Link Info", "2")
Exit


З.ы. после выхода сообщения "1", необходимо в браузере кликнуть на "Разрешить заблокированное содержимое". После этого нажимаете ОК в сообщении "1". Иначе функция "initializeSelectbox" не отработает.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
mugger [?]
Во вложении кусок внутреннего сайта.
Попробуйте так.
Код:
#include <IE.au3>
;Без проверок на ошибки
Dim $aOpt[4] = [3, 'Есть', 'Бимс', 'Нет']
$oIE = _IECreate(@ScriptDir & '\teset2.html')

$oSpans = _IETagNameGetCollection($oIE, 'span')
For $i = 1 To $aOpt[0]
	For $oSpan In $oSpans
		If _IEPropertyGet($oSpan, 'innertext') == $aOpt[$i] Then
			_IEAction($oSpan, 'click')
			_IELoadWait($oIE)
			Sleep(1000)
			ExitLoop
		EndIf
	Next
Next
MsgBox(64, 'Info', 'OK?')
_IEQuit($oIE)
 
Автор
M

mugger

Новичок
Сообщения
16
Репутация
0
madmasles, спасибо!
работает!

А можете в кратце рассказать почему не сработал метод "_IEFormElementOptionSelect" ?
(для понимания в будущем)
 
Верх