Как использовать _IEFormElementRadioSelect без поиска формы - PullRequest
0 голосов
/ 14 сентября 2011

Мне нужен этот сценарий для работы, но без использования _IEFormGetObjByName или _IEFormGetCollection и при знании только Name переключателей.

$oIE = _IE_Example ("form")
$oDoc = _IEDocGetObj($oIE)
$oArray = $oDoc.getElementsByTagName ("input")
For $element In $oArray
If $element.Name = "radioExample" Then

_IEFormElementRadioSelect ($oDoc,2, "radioExample", 1, "byIndex")
msgbox(0,"","Found it")
Endif
Next

_IEFormElementGetValue & _IEActionотлично работает, просто укажите их на $oElement и найдите соответствующий $element.Name, но я не могу заставить работать _IEFormElementRadioSelect.

Единственное отличие команды _IEFormElementRadioSelect от примера сценария, найденного в справочном файле AutoIt, заключается в ссылке на $oDoc.В справочном файле это $oForm, который находится с _IEFormGetObjByName, который я не могу использовать (сайт, который я автоматизирую, не возвращает никаких форм).

1 Ответ

2 голосов
/ 14 сентября 2011

Замените ваш _IEFormElementRadioSelect на _IEAction($element, "click")

Попробуйте этот пример; вы можете видеть радио элементы, выбранные во время выполнения скрипта:

#include <IE.au3>

$oIE = _IE_Example("form")
$oDoc = _IEDocGetObj($oIE)
$oArray = $oDoc.getElementsByTagName("input")
For $element In $oArray
    If $element.Name = "radioExample" Then
        _IEAction($element, "click")
        Sleep(2000)
    EndIf
Next
...