Excel 2013 Windows 7で。XPath
/Javascript
/jQuery
は範囲外です。VBA/DOM - 属性に基づいて要素を取得
選択div
の要素、つまり特定の属性を持つ要素を反復しようとしています。
私の現在のアプローチはsimilar to thisですが、属性に基づいて要素を選択する非手動方法は見つかりませんでした。私はそれが(unelegant場合)実行可能であると確信している間だけ、私は起動時にループがなってしまうために起こっているどのように大きなためならば、次善のようだ、このソリューション
With CreateObject("WINHTTP.WinHTTPRequest.5.1")
.Open "GET", url, False
.Send
pHTML.body.innerHTML = .ResponseText
End With
Set eCollection = pHTML.getElementsByClassName("chapter").getElementsByTagName("div")
For i = 0 To eCollection.Length
If eCollection(i).getAttribute("data-level") >= 0 Then ' Throw cake
Next i
:私が来た最も近いのようなものでした特定の要素および要素のシーケンスをの中で探します。これらの要素はです。
だから私はこのような何かを行う方法を探しています:
For Each pElement In pHTML.getElementsByClassName("chapter").getElementsByTagName("div").getElementsByAttribute("data-level")
' Throw cake at the element
Next
私はので、何の方法getElementsByAttribute
、問題がないことを承知しています。
ここで私は盲目的なアプローチがありますか、手動の反復にロックされていますか?私はIEのインスタンスを作成するための私の現在のアプローチを交換する場合
また、ア・ラ・this answer、私はconcievably私は上記の概説している結果に似た何かで終わるためにquerySelectorAll
を使用することができますか?いわば
querySelectorAllが機能するはずです。代わりに、ExecScriptの使用とjqueryステートメントの使用を検討することもできます。この回答のようなもの:http://stackoverflow.com/questions/9032618/find-elements-attribute-value私はjqueryを使用して、トリッキーな要素を見つける必要があるときにこれを行うきれいな方法を見つけました。 –
私はJS/jQueryをあまりコードしませんが、 'querySelector'を動作させることができないかどうかを知る必要があります。入力いただきありがとうございます。 – Vegard