【问题标题】:How to click menubar option in a website?如何单击网站中的菜单栏选项?
【发布时间】:2020-07-24 00:56:24
【问题描述】:

我想编写代码以单击网站中的菜单。

Sub SearchBot()
    
    Dim ie As Object
    Dim HTMLDoc As MSHTML.HTMLDocument
    Dim ckt_No As String
    ckt_No = Range("A2").Value
    Set ie = CreateObject("InternetExplorer.Application")
    ie.Visible = True
    ShowWindow ie.hwnd, SW_MAXIMIZE
    ie.Navigate "http://gamit.web.att.com/gamitx/welcome.htm"

    Do While ie.Busy = True Or ie.ReadyState <> 4: DoEvents: Loop
    Set HTMLDoc = ie.Document
    HTMLDoc.getElementById("yui-gen1").Focus
    HTMLDoc.getElementById("yui-gen1").Click
      
    Do While ie.Busy = True Or ie.ReadyState <> 4: DoEvents: Loop
    Stop 'Press SHIFT + F9 and examine the window...

菜单

在检查菜单时,我得到了 HTML 代码

VBA 没有抛出任何错误,但是它没有点击菜单。

运行代码后,菜单如下所示

我的 VBA 编辑器中有 Microsoft Internet 控件、Microsoft HTML 对象库函数。

【问题讨论】:

    标签: html excel vba web-scraping getelementbyid


    【解决方案1】:

    尝试导航到子 a 标签的 href(通过其 id 获取父标签)

    ie.navigate2 HTMLDoc.querySelector("#yui-gen1 a").href
    

    【讨论】:

    • @QHarr ..... 太棒了 :) :) ..... 超级...!!!此代码工作正常。非常感谢您的支持
    【解决方案2】:

    也许是这个,但我无法测试它,因为您的网址不适合我 HTMLDoc.getElementById("yui-gen1").nextPageElement.Click

    【讨论】:

    • 感谢您的回复.....使用此代码时出现“对象不支持此属性或方法”之类的错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多