我正在尝试从下拉菜单中选择一个选项,该选项似乎设置在一个表中,其中每个选项已放入单独的tr / td元素中,如下所示:
<div class="MenuTableContainer">
<table class="MenuTable" style="width: 175px;" cellspacing="0" cellpadding="0">
<tbody class="MenuTableBody">
<tr class="MenuTableRow">
<td class="MenuEntryName" nowrap="">1 Heavy</td>
<td class="MenuEntryNoSub" arvalue="1 Heavy"></td></tr>
<tr class="MenuTableRow">
<td class="MenuEntryName" nowrap="">2 Medium-Heavy</td>
<td class="MenuEntryNoSub" arvalue="2 Medium-Heavy"></td></tr>
<tr class="MenuTableRow">
<td class="MenuEntryName" nowrap="">3 Medium-light</td>
<td class="MenuEntryNoSub" arvalue="3 Medium-light"></td></tr>
<tr class="MenuTableRow">
<td class="MenuEntryNameHover" nowrap="">4 Light</td>
<td class="MenuEntryNoSubHover" arvalue="4-Light"></td></tr>
</tbody></table></div>
到目前为止,单击我一直在使用的该网页上的任何其他元素:
Dim clickButton
Set clickButton= IE.document.getElementById("032345")
clickButton.Click
或执行相同的操作,但在没有可用ID的情况下使用.getElementsByClassName进行操作,而该操作没有任何问题。
但是,由于某些原因,我无法使用此菜单,除非我手动将鼠标悬停在菜单上,否则它将不会单击任何内容,在这种情况下,它将单击具有指针的任何选项,而忽略类名并完全定位。
我还尝试过使用“ MenuEntryNoSub”类,以为它可能是某种不可见的按钮,但是运行脚本时却什么也没发生。
对于.getElementsByClassName,它调试时会使用“ MenuEntryName”为每个元素打印正确的TextContent。
Debug.Print IE.document.getElementsByClassName("MenuEntryName")(1).textContent
但是,当我尝试使用以下代码单击它时,它什么也没做:
Dim chooseOption
Set chooseOption = IE.document.getElementsByClassName("MenuEntryName")(1)
chooseOption.Click
非常感谢任何有关我可能做错事情的提示-预先感谢