【问题标题】:excel vba IE clicking a buttonexcel vba IE 点击按钮
【发布时间】:2014-03-26 18:47:56
【问题描述】:

通过 Excel 和 VBA,我打开了一个 page.

我想通过 vba 单击“扩展”按钮,但出现错误。

我尝试使用下面列出的两个 VBA 命令

Doc.getElementsByClassName("dhl-btn-main collapse-btn-expand-all")(0).Click
Doc.getElementsByClassName("dhl-btn-main collapse-btn-expand-all").Click

我得到的错误是 运行时错误“438”:对象不支持此属性或方法。

【问题讨论】:

  • 我有 IE8 ,当我升级到 IE10 时它解决了问题

标签: excel vba internet-explorer


【解决方案1】:

假设“Doc”是您对 IE 的引用,试试这个:

 Set ElementCol = Doc.document.getElementsByClassName("dhl-btn-main collapse-btn-expand-all")

 For Each btnInput In ElementCol
    btnInput.Click
 Next btnInput

工作示例

Private Sub IE_Expand()
    Dim i As Long
    Dim IE As Object
    Dim objElement As Object
    Dim objCollection As Object

    ' Create InternetExplorer Object
    Set IE = CreateObject("InternetExplorer.Application")

    'IE.Visible = False

    IE.Navigate "https://dhli.dhl.com/dhli-client/shipmentair;jsessionid=q3tzTzyLcL7JkxkNQ4nv7Jtrpzk1glylCyJ7vJzT27h2xBG5zXSm!599496067?0&shipmentId=151218573&accountGroup"

    ' Wait while IE loading...
    Do While IE.Busy
        Application.Wait DateAdd("s", 1, Now)
    Loop

    IE.Visible = True

    Set ElementCol = IE.document.getElementsByClassName("dhl-btn-main collapse-btn-expand-all")

    ElementCol.Item(0).Click

    ' Clean up
    Set IE = Nothing
    Set objElement = Nothing
    Set objCollection = Nothing

    Application.StatusBar = ""
End Sub

【讨论】:

    猜你喜欢
    • 2015-01-29
    • 2018-12-22
    • 2016-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多