Я использую следующий код, чтобы просто выбрать раскрывающееся меню на веб-странице, которое, я думаю, будет довольно простым. К сожалению, я получаю ошибку «Неизвестное имя» всякий раз, когда я пытаюсь изменить SelectedIndex в списке выбора.AutoHotKey Com Object get select list
Это приводит к пустой сообщение:
test := ie.document.getElementByID("mySelect").selectedIndex.Value
MsgBox %test%
Вот является HTML-:
<SELECT onchange=onchangeSelectOption(); onfocus="hint('Select option');" id=mySelect name=mySelect>
<OPTION value=option_1>Option 1</OPTION>
</SELECT>
Я попытался это изменить SelectedIndex и вручную вызвать OnChange событие:
ie.document.getElementByID("mySelect").selectedIndex := 1
ie.document.getElementByID("mySelect").fireEvent("onChange")
Я также попытался получить значение другими способами, например:
test := ie.document.all.mySelect.selectedIndex
MsgBox %test%
, а также:
ie.document.all.mySelect.Click()
Одна вещь, которая может быть значительным. Вы не можете щелкнуть правой кнопкой мыши список выбора и просмотреть источник, но вы можете сделать это рядом и найти список выбора в DOM. Кроме того, я считаю, что параметры для списка выбора динамически загружаются с помощью javascript, поэтому я подумал, что выбор был недоступен, когда я пытался получить к нему доступ. Я включил долгое время ожидания, чтобы убедиться, что все загружено, но оно по-прежнему не распознает имя или идентификатор списка выбора.
Любые идеи?
EDIT: HTML находится внутри рамки.
Попробуйте изменить 'getElementByID (« mySelect »). Value' на фактическое значение вместо его выбранногоIndex. Кстати, почему 'ID', а не' Id'? Правильное написание - 'getElementById'. – wOxxOm
Я пробовал ваши предложения, и я все равно получаю пустой MsgBox. Информация на этом веб-сайте очень чувствительна, поэтому мне интересно, если они каким-то образом отключили возможность программно видеть, что находится в html? Я бы подумал, что если я смогу F12 и посмотрю на источник, то я должен был бы скопировать его с помощью AHK .. – Jon