internetexplorer.application对象 - 逐个获取项目

时间:2012-06-03 13:55:11

标签: internet-explorer dom vba

我正在使用VBA打开网页,需要收集某些具有特定类别的元素的值。

With CreateObject("internetexplorer.application")
    .Visible = True
    .Navigate "http://www.google.com"
    While .ReadyState <> 4 Or .Busy
        DoEvents
    Wend
    Set r = .document.getelementsbyclassname("gssb_f")
    ' REST OF CODE
End With

以上不起作用。

我也在努力为InternetExplorer.Application对象找到所有可用属性和方法的库。它存在吗?

3 个答案:

答案 0 :(得分:1)

您现在可以使用.querySelectorAll的{​​{1}}方法来应用的CSS选择器

document

“。”表示className。此方法返回一个.gssb_f ,您可以遍历返回的nodeList的{​​{1}}。

语法:

.Length

答案 1 :(得分:0)

在VBA编辑器中,您应该尝试添加对Microsoft Internet Controls&#39;的引用。 点击&#39;工具&#39; &GT; &#39;参考文献&#39; &GT;检查“Microsoft Internet Controls&#39; &GT;单击“确定”。

我猜这应该有效。

-Nin

答案 2 :(得分:0)

我只是为此寻找解决方法而且只能找到这个。我发布了@davidbeyonchen想法的一个例子,万一其他人有这个问题。我只搜索了一个项目,但可以修改为包含多个项目。

For Each elem In .Document.all
    If elem.className = "gssb_f" Then
        Set r = elem
        Exit For
    End If
Next