2012-09-29 110 views
0

我想从包含此的网页中获取一些文本。我想用href =“#spec_Brand”获得这条信息。如何访问<TD>标签中的HTML标签的innerText

<td class="table_spec"> 
    <dl> 
     <dt class="table_spec_title"> 
      <a class="href_icon href_icon_help table_spec_titleimg" title="Which manufacturer is producing the product?" href="#spec_Brand"> 
       <span>Brand</span> 
      </a> 
      <span class="table_spec_titletext">Brand</span> 
     </dt> 
     <dd class="table_spec_definition"> 
      Producer of the product? 
     </dd> 
    </dl> 
</td> 

我试图使用方法:

Set TDelementsA = HTMLdoc.getElementsByTagName("TD") 
    While r < TDelementsA.Length 
     If TDelementsA.className = "table_spec" Then 
     Sheet4.Range("A1").Offset(r, c).Value = TDelement.innerText 
    End If 

,但它给了我:产品的品牌 生产者 ?

spec_Brand代替

有人能帮助我吗?

+0

您从'TDelementsA'掉在'Set','While'和'If'线'TDelement'当你实际写入工作表时。希望这里只是一个错字而不是实际的代码 – barrowc

回答

1

这是你正在尝试? (注意我存储上面的HTML在Sheet1的A1单元格中进行测试)。另外我使用的后期随着IE

绑定
Option Explicit 

Sub Sample() 
    Dim ie As Object 
    Dim links As Variant, lnk As Variant 

    Set ie = CreateObject("InternetExplorer.Application") 
    ie.Visible = True 
    ie.navigate "About: Blank" 

    ie.document.body.innerhtml = Sheets("Sheet1").Range("A1").Value 

    Set links = ie.document.getElementsByTagName("a") 

    For Each lnk In links 
     If lnk.classname = "href_icon href_icon_help table_spec_titleimg" Then 
      Debug.Print lnk.innertext 
      Exit For 
     End If 
    Next 
End Sub 

SCREENSHOT

enter image description here

+0

谢谢,正如我所说的,我正在通过TD元素循环。一个2列表和表的左列有隐藏在标签内的文本,右列的innerText是我想要的。所以我使用TD标签。但我想我可以通过表循环2次,第一列搜索-标记和第二列搜索​​-tags;尽管我想了解是否以及如何访问标签中的标签。 – user1708574