首页 > 解决方案 > 在 Excel VBA 中使用 getElementsBy??Name

问题描述

我正在尝试使用 VBA 从这个 HTML 片段中抓取指向 .gif 文件的链接:

        <div class="row">
            <div class="col-md-12">
                <div id='imageDiv' style='width:99%'>
 <img style='width:99% !important; border:5px solid silver;' src="http://www.[rest of link].gif" alt="" />
  </div>

我的代码如下:

parent_url = "http://www.[webpage url]" 
objIE.navigate parent_url
        While objIE.Busy Or objIE.readyState <> 4
            DoEvents
        Wend
        For Each ele In objIE.document.getElementsByTagName("imageDiv")
           If InStr(ele.Style, "width") > 0 Then
              ws1.Cells(2, 2) = ele.innerText: Exit For
           End If
        Next
objIE.Quit

即使我尝试了多种不同的元素类型,这也不会向电子表格写入任何内容。关于我在这里做错了什么的任何指示?TIA

标签: htmlexcelvbaweb-scrapingqueryselector

解决方案


尝试:

For Each ele In objIE.document.getElementById("imageDiv").getElementsByTagName("img")

推荐阅读