我经常使用 VBA,但在 IE 自动化方面我仍然是初学者。我需要创建一个代码来单击我公司特定网站上的“按钮”。此按钮会打开一个小菜单,我需要在其中选择一些内容(我想稍后会处理)。问题是,该按钮不显示任何 ID 或名称,它是一个跨度,我无法单击它。下面是当我按 F12 并检查按钮上的元素时的 HTML:
<span class="search_for_watchers">
<a href="/watchers/new?project_id=pendencia" data-method="get" data-remote="true">Procurar por outros observadores para adiconar</a>
</span>
我尝试了很多在互联网上找到的建议。我尝试通过 ID、名称、类名等获取元素,但没有成功。下面是我正在使用的代码:
Sub Automate_IE_Load_Page()
Dim i As Long
Dim URL As String
Dim ie As Object
Dim objElement As Object
Dim objCollection As Object
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
URL = "Examplesite.com"
ie.Navigate URL
Application.StatusBar = URL & " is loading. Please wait..."
Do While ie.READYSTATE = 4: DoEvents: Loop
Do Until ie.READYSTATE = 4: DoEvents: Loop
Application.StatusBar = URL & " Loaded"
botao = ie.Document.getElementsByClassName("search_for_watchers")
botao.Click
End Sub
它没有显示任何错误..它只是没有打开我想要的子菜单,因此没有点击按钮。
谢谢!
getElementsByClassName 是复数;即它代表一个集合。下面表示具有此类的第一个对象,然后单击其中的第一个锚标记。
ie.Document.getElementsByClassName("search_for_watchers")(0).getElementsByTagName("a")(0).click
如果你想给元素分配一个对象var,然后使用var点击,你需要设置var。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句