从html获取属性string值

我正在构build一个macros,以使用vba从网站提取数据。 目前,我可以使用元素语法(如obj.getElementsByTagName("td").innerText轻松地从表格内容中获取值。 但是,当某些单元格中存在非innerText数据时,我遇到了麻烦。 就像这样:

 <img src="/images/amber_pending.gif" border="0" alt="Pending" title="Pending"> 

我尝试使用从其他人发现的语法从“title”中提取属性值:

 For Each tbObj In doc.getElementsByClassName("report removeTdBorder") i = 1 For Each trObj In tbObj.getElementsByTagName("tr") If i >= 3 Then j = 1 For Each tdObj In trObj.getElementsByTagName("td") If j = 1 Then Set imgObj = tdObj.getElementsByTagName("img") dataArray(i, j) = imgObj.getAttribute("title") Debug.Print imgObj.getAttribute("title") ActiveCell.Offset(0, j) = dataArray(i, j) ActiveCell.Offset(0, j).WrapText = False Else dataArray(i, j) = tdObj.innerText Debug.Print i & ", " & j & ": " & dataArray(i, j) ActiveCell.Offset(0, j) = dataArray(i, j) ActiveCell.Offset(0, j).WrapText = False End If j = j + 1 Next tdObj ActiveCell.Offset(1, 0).Activate End If i = i + 1 Next trObj Next tbObj 

但是,这段代码每次都会出错,并且在“ dataArray(i, j) = imgObj.getAttribute("title")行处显示”运行时错误438“:对象不支持此属性或方法。 有人能帮我吗?

 Set imgObj = tdObj.getElementsByTagName("img") 

返回一组图像(即使只有一个图像被find),所以你可以使用(eg)来处理特定的图像:

 dataArray(i, j) = imgObj(0).getAttribute("title")