首先,如果这是一个愚蠢的问题,我要道歉,但是我对编码是完全陌生的,现在被困在拉扯头发上了几天。.
我正在尝试为自己的工作场所进行一些自动化,并且基本上只能尝试使VBA为我单击js按钮,并在尝试执行操作时不断出现“运行时错误'424':需要对象”这样。
按钮代码为:
<a href="javascript:" id="WIN_0_304316340" arid="304316340" artype="Control" ardbn="z3Btn_ShowApplicationList" artcolor="null" class="btnflt pointerCursor arfid304316340 ardbnz3Btn_ShowApplicationList" style="top:0px; left:0px; width:23px; height:140px;z-index:1209;" arwindowid="0"><div class="btnimgdiv" style="top:0px; left:0px; width:23px; height:140px;">
(或者至少这是我通过使用“检查元素”选项找到的内容,而不是100%确定这是否是考虑到js的方式,因为到目前为止我发现的所有教程都使用过具有清晰ID的简单文本形式。)
我正在使用的VBA代码是:
Sub Test()
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.navigate "https://CensoredLink.com"
Do While IE.Busy
Application.Wait DateAdd("s", 1, Now)
Loop
IE.document.getElementById("WIN_0_304316340").Click
End Sub
如您所见,在此示例中我尝试使用'WIN_0_304316340'ID,但也尝试使用干旱的'304316340',因为我不知道其中哪一个是正确的(得到了相同的错误消息两种情况下
当我在编辑器中单击“调试”时,它将突出显示以下行:
IE.document.getElementById("WIN_0_304316340").Click
所以我也认为也许我只是在这里做错了/没有定义对象或类似的东西?
我的另一个猜测是,也许某种程度上是由于页面加载非常缓慢,持续了几秒钟,但我猜是
Do While IE.Busy
Application.Wait DateAdd("s", 1, Now)
Loop
部分代码应防止出现这种情况。
任何帮助将不胜感激,并再次成为这样的菜鸟T__T