excel - IE上的VBA单击按钮

标签 excel internet-explorer vba

我经常使用 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 是复数;即它代表一个集合。以下表示具有此类的第一个对象,然后单击其中的第一个 anchor 标记。

ie.Document.getElementsByClassName("search_for_watchers")(0).getElementsByTagName("a")(0).click

如果你想给元素分配一个对象var,然后用这个var点击,你需要Set the var。

关于excel - IE上的VBA单击按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48827975/

相关文章:

vba - Excel vba : setting a long variable for each object class dramatically increases execution time

html - IE 10 字体问题 - OpenType 嵌入权限检查失败。权限必须是可安装的

vba - 将行复制到新工作表 VBA

vba - 使用 VBA 向 Excel 表格追加多行的最有效方法是什么?

vba - 使用 VBA 单元同时按多种背景颜色进行过滤

excel - 在 Excel VBA 中获取 #N/A

c# - 微软办公自动化 : Get notified (Event) when a macro runs

sql-server - 用于从 SQL Server 数据库检索数据的用户友好工具

javascript - .js 文件在 firefox/tomcat/eclipse 中的奇怪缓存

internet-explorer - 如何强制ie要求数字证书