VBAにて getElementsByClassName がエラーになる
解決したいこと
VBAにて、getElementsByClassName がエラーになる。
当方の理解不足と思いますが、getElementsByClassNameを成功させる方法を教えてください。
発生している問題・エラー
Microsoft Visual Basic
実行時エラー'438':
オブジェクトは、このプロパティまたはメソッドをサポートしていません。
[継続][終了][デバッグ][へルプ]
該当するソースコード
Sub webtest()
Set httpObj = CreateObject("MSXML2.XMLHTTP")
httpObj.Open "GET", "https://qiita.com/about", False
httpObj.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
httpObj.send
Set objHtml = CreateObject("htmlfile")
Call objHtml.write(httpObj.responseText)
Set ele2 = objHtml.getElementsByTagName("div") '←これは成功
Debug.Print ele2.Length
For Each dl_ In ele2
If dl_.getAttribute("className") > "" Then
Debug.Print dl_.getAttribute("className")
End If
Next
Set ele1 = objHtml.getElementsByClassName("allWrapper") '←ここでエラー
Debug.Print ele1.Length
End Sub
結果↓
24
allWrapper
style-ymuwam
style-fv3lde
style-fv3lde
mainWrapper
style-1etsp53
style-17m4t2m
style-m7qmhk
style-rwj657
style-198ouat
style-12b39f7
style-6daghd
style-aqo7be
st-footer_container
st-footer_start
st-footer_signature
st-footer_catchcopy
自分で試したこと
・getElementsByTabName は成功した
・getElementById は成功した
※qiita様勝手にアクセスしてすみません。