AutoHotKey:如何从下拉列表中获取可用值列表?

时间:2018-02-09 16:48:15

标签: autohotkey

我正在尝试自动化网站以获取数据。通常如果我事先知道下拉列表中可能的值是什么,我可以在我的脚本中对它们进行硬编码。

但如果我不知道这些值是什么,有没有一种优雅的方式来动态获取下拉列表值?

来自:https://autohotkey.com/boards/viewtopic.php?t=15574

的工作样本
select name="ConnectDTO.EvaluationGroupId" id="ConnectDTO_EvaluationGroupId" style="width: 260px;" required="yes" data-val-number="The field Evaluation Group must be a number." data-val="true"><option value="">Please Select</option>
<option value="4">ccpdmanagement</option>
<option value="7">AM Northern</option>
<option selected="selected" value="3">cwplanning</option>
<option value="1">mnplanning</option>
<option value="2">msplanning</option>
<option value="9">LCC</option>
<option value="6">powerquality2</option>
<option value="8">AM Southern</option>
<option value="5">tcoqueries</option>
</select>

当我的脚本在loadIE(wb)之后到达页面时,有没有办法去&#34;得到&#34;选择列表 - 例如ccpdmanagement,AM Northern等......?

我知道如果只提前知道选项,如何选择它们。

pwb.document.getElementById("ConnectDTO_EvaluationGroupId").Focus()
pwb.Document.GetelementById("ConnectDTO_EvaluationGroupId").value := "1"

感谢。

1 个答案:

答案 0 :(得分:1)

我在这里找到了一个解决方案:https://autohotkey.com/boards/viewtopic.php?t=35467 尽管作者声称他的代码存在问题(由于某种原因声明不起作用)。

但是出于我的目的 - 检索所有下拉列表选项的列表。它运作良好。

myDropDownList := wb.document.getElementById("your_dropdown_ID")

loop % myDropDownList.length
{
    test := myDropDownList[A_Index-1].value
    MsgBox %test%
}