使用以下代码,我可以打开Internet Explorer窗口并导航到该网站。我想通过能够点击其中一个链接(例如“ Boxing / UFC”)的代码来走得更远。

Sub Run()
Set IE = CreateObject("InternetExplorer.Application")
With IE
    .Visible = True
    .Navigate2 "http://www.bet365.com"
    Do Until .ReadyState = 4: DoEvents: Loop
    .Quit
End With


因为该链接会导致Javascript onclick事件(onclick="gS(1020,9);return false;"),您能建议我使用的代码使VBA在运行VBA宏后不受用户干扰的情况下单击该链接吗?

最佳答案

在Internet Explorer中,您只需通过DOM API单击链接。

检索您感兴趣的DOM节点(A),并在其上调用click()。这还将触发所有关联的事件处理程序。



编辑:在您的情况下,使用VBA,请执行以下操作(未测试,我这里没有VBA)

Dim sideNav As IHTMLElement
Dim navLinks As IHTMLElementCollection
Dim currLink As IHTMLElement

Set sideNav = IE.document.getElementByID("sln")
Set navLinks = sideNav.all.tags("A")

For Each currLink In navLinks
  If Trim(currLink.innerText) = "Boxing/UFC" Then
    currLink.Click
  End If
Next currLink

09-30 19:29