1
親愛なるstackoverflowers、VBAスクレイピングコードでタグやクラスが認識されない
私はVBAに新しく、パスワードで保護されたウェブサイトからデータを取得しようとしています。 ユーザー名とパスワードを入力して[送信]ボタンをクリックすると正常に動作します。その後、別のページが開き、いくつかの 'ボタン'をクリックする必要がありますが、なぜ動作しないのかわかりません。 次のアイコンをクリックしてみてください。
<td class="menuitem"> <a title="Klik hier voor de dienst Kadaster-on-line" class="navig" onmouseover="return s_('Kadaster-on-line')" onmouseout="return s_()" href="https://kadaster-on-line.kadaster.nl/default.asp" target="_parent">Kadaster-on-line</a>
コードの最初の部分は、これまで
Dim IE As New SHDocVw.InternetExplorer
Dim HTMLDoc As MSHTML.HTMLDocument
Dim HTMLInput As MSHTML.IHTMLElement
Dim HTMLButtons As MSHTML.IHTMLElementCollection
Dim HTMLButton As MSHTML.IHTMLElement
Dim HTMLAs As MSHTML.IHTMLElementCollection
Dim HTMLA As MSHTML.IHTMLElement
IE.Visible = True
IE.navigate "https://mijn.kadaster.nl/security/login.jsp"
Do While IE.Busy = True Or IE.ReadyState <> 4: DoEvents: Loop
Set HTMLDoc = IE.Document
Set HTMLInput = HTMLDoc.getElementById("gebruikerscode")
HTMLInput.Value = "username"
IE.Document.forms("myform").elements("wachtwoord").Value = "password"
IE.Document.forms("myform").elements("inloggen").Click
Do While IE.Busy = True Or IE.ReadyState <> 4: DoEvents: Loop
動作しますが、第二部では動作しません。最初のコードは、私も
の「メニューアイテムを」クラス名とコードを試してみました タグ名「TD」を認識しないようにそれはそう私はのgetElementsByClassNameでそれを把握しようとしましたが、私はそれがタグ名Set HTMLAs = HTMLDoc.getElementsByTagName("td")
'For Each HTMLA In HTMLAs
Debug.Print HTMLAs.Length
'Next
で作業する必要がありますね
誰でもお手伝いできますか?
種類は、あなたが新しいページをロードした後
Set HTMLDoc = IE.Document
を再実行する必要があり