javascript - 如何通过 VBA 单击 jQuery 自动完成生成的列表?
问题描述
我正在尝试单击由 jQuery/autocomplete 通过 VBA 生成的浏览器中的列表。
我试过使用“.click”功能,但它仍然不会点击列表。我也尝试使用“selectedindex”,但它只返回错误。我还尝试了使用 onchange 的“fireevent”。我没有错误,但它仍然没有点击列表。
这里有类似的线程:
VBA / HTML / jQuery 选择自动完成 - 在列表中选择
但是提供的解决方案什么也没做。我还是 javascript 的新手,所以也许我做错了什么。
这就是我目前拥有的:
这是我试图处理的文本框(“Konto”)
这是我目前正在处理的代码:
Main.ie.document.getElementsByTagName("input")(12).Value = Sheets("Visma").Cells(2, 5).Value Main.ie.document.getElementsByTagName("input")(12).Focus
Set liste = Main.ie.document.getElementsByClassName("wicket-aa")(0).getElementsByTagName("li")
Do While liste.Length = 0: DoEvents: Loop
Debug.Print liste(0).innerHTML
liste(0).Click
我无法定位 ID,因为它们会在每个新会话中生成新的 ID。
当我运行代码时,输入被填充并出现下拉列表,但它不会单击该列表。当我打印变量时,它确实显示了我想要单击的项目。但是“liste(0).click”似乎没有做任何事情。
这是文本框的 HTML 代码:
<div class="form-group costCentreElement">
<label><a href="javascript:;" tabindex="0" id="id20">Konto</a></label>
<input type="text" class="form-control ccDimensionField" maxlength="12" onkeypress="return disableEnterKey(event)" value="" name="kontLinjer:1:konteringLinjePanel:konteringForm:kPanel:form:wmc:kbInputView:0:kbInput" id="id21" autocomplete="off" placeholder="Konto" onfocus="select();" tabindex="1">
我相信这是在文本框中键入时生成下拉列表的自动完成代码:
<div class="wicket-aa-container" id="id21-autocomplete-container" style="overflow: auto; position: absolute; margin: 0px; padding: 0px; width: auto; left: 217px; top: 688px; display: none;">
<div id="id21-autocomplete" class="wicket-aa">
<ul>
<li textvalue="4330">4330 - KARTONGER/ESKER</li>
</ul>
</div>
</div>
解决方案
推荐阅读
- asp.net - 当 dbcontext 中有多个模型时,如何创建一个空模型以传递给插入更新视图?
- hp-uft - 如果检查失败,则从 UFT 检查点获取布尔值而不抛出错误
- php - Pass variable from header.php to functions.php
- javascript - Socket.io 客户端如何知道用户是否连接到通道
- angular - TypeError:您在流中提供了“未定义”
- internet-explorer - Kerberos 身份验证仅适用于 IE -> 私人浏览器
- react-native - 在 React Native 中从 Google Places Autocomplete 获取纬度和经度
- c# - 如何保护使用 iTextSharp 签名的 pdf 文件?
- android-studio - Error related to resources_ap after upgrading to Android Studio 3.4
- google-apps-script - 如何让用户使用脚本(绑定到 Gsheet)来更新另一个 Gsheet 中的单元格(用户没有编辑权限)?