Как использовать _IEFormElementRadioSelect без поиска формы

Мне нужно, чтобы этот скрипт работал, но без использования _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, который я не могу использовать (сайт, который я автоматизирую, не возвращает никаких форм).


person Thomas    schedule 14.09.2011    source источник


Ответы (1)


Замените _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
person Jos van Egmond    schedule 14.09.2011
comment
Спасибо чувак! Теперь я могу вернуться к работе над основным сценарием, который я создавал!! Если бы у меня было 15 представителей, я бы проголосовал за ваш отказ, но, к сожалению, я этого не делаю. - person Thomas; 15.09.2011
comment
Нет проблем, Томас. Мы также получаем репутацию просто за то, что отвечаем на вопрос. :) Пометка как ответ - это все, что я когда-либо хотел. - person Jos van Egmond; 15.09.2011