我正在尝试自动化网站以获取数据。通常如果我事先知道下拉列表中可能的值是什么,我可以在我的脚本中对它们进行硬编码。
但如果我不知道这些值是什么,有没有一种优雅的方式来动态获取下拉列表值?
来自: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"
感谢。
答案 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%
}