猿问

如何使 Excel VBA 自动在 IE 中单击 javascript a href 链接

我在 VBA 中有一个宏,它使用 Excel 自动导航到网页。


我可以通过它们的 ID 选择元素,然后单击或插入值来自动化站点。


然而,当我试图“点击”一个似乎没有任何 ID 的链接/按钮时,我被卡住了。这是一个 JavaScript 链接:


<div>

<table class="table" id="ctl00_cphMaster_Results" style="width: 100%; border-collapse: collapse;" cellspacing="0">

    <tbody><tr>

        <th style="width: 70px; white-space: nowrap;" scope="col"><a href="javascript:__doPostBack('ctl00$cphMaster$Results','Sort$Indicator')">True?</a></th><th class="hidden" style="width: 100px;" scope="col"><a href="javascript:__doPostBack('ctl00$cphMaster$Results','Sort$Reference')">Reference</a></th><th scope="col"><a href="javascript:__doPostBack('ctl00$cphMaster$Results','Sort$Results')">Result Number</a></th><th class="hidden" scope="col">&nbsp;</th><th scope="col"><a href="javascript:__doPostBack('ctl00$cphMaster$Results','Sort$Type')">Type</a></th><th class="hidden" scope="col"></th><th class="hidden" scope="col">&nbsp;</th><th class="hidden" scope="col">&nbsp;</th>

    </tr><tr>

        <td align="center"><a href="Summary02.aspx?"><img title="Accepted" id="true" style="border: currentColor; border-image: none;" alt="Accepted" src="/Common/Graphics/tick_green.gif"></a><img id="Accepted" style="border: currentColor; border-image: none;" src="/Common/Graphics/tick_spacer.gif"><img id="Accepted" style="border: currentColor; border-image: none;" src="/Common/Graphics/tick_spacer.gif"></td><td class="hidden">MyValue</td><td><a href="javascript:__doPostBack('ctl00$cphMaster$Results','ResultNumber$0')">ResultNumber</a></td>

    </tr>

</tbody></table>

我曾尝试单击“ResultNumber$0”或以某种方式触发它,但到目前为止还没有成功。如何让 IE 自动点击这个 javascript 链接/按钮?到目前为止我的代码:


Sub ClickJavaLink()

Const URL = "https://myurl"    

Dim ie As Object

Set ie = CreateObject("InternetExplorer.Application")


With ie

    .navigate URL

    ieBusy ie

    .Visible = True


结束子


Sub ieBusy(ie As Object) Do While ie.Busy 或 ie.ReadyState < 4 DoEvents Loop End Sub


万千封印
浏览 311回答 3
3回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答