gpt4 book ai didi

javascript - AutoHotKey Com 对象获取选择列表

转载 作者:行者123 更新时间:2023-11-28 06:42:44 28 4
gpt4 key购买 nike

我使用以下代码来选择网页上的下拉菜单,我认为这非常简单。不幸的是,每当我尝试更改选择列表的 selectedIndex 时,都会收到“未知名称”错误。

这会导致一条空消息:

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 动态加载的,所以我想当我尝试访问它时,选择可能不可用。我加入了很长的等待时间来确保所有内容都已加载,但它仍然无法识别选择列表的名称或 ID。

有什么想法吗?

编辑:HTML 位于框架内。

最佳答案

对于任何将来可能寻找答案的人,我意识到该页面正在使用框架,并从 this post 学习。您必须首先定位框架,然后才能在框架内操作文档。我得到一个空的 MsgBox,因为我试图在文档中查找 ID 为 mySelect 的元素,但该元素不存在。

Frame := ComObj(9,ComObjQuery(ie.document.getElementById("_Menu_target").contentWindow,"{332C4427-26CB-11D0-B483-00C04FD90119}","{332C4427-26CB-11D0-B483-00C04FD90119}"),1)
msgbox % Frame.document.documentElement.innertext

关于javascript - AutoHotKey Com 对象获取选择列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33653758/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com