VB.NETフレームワークを使用してドキュメントの要素を取得するカスタムブラウザを作成しました。私は要素をクリックするたびに簡単な要約のために、メッセージを表示しますが、iFrameの中の要素をクリックすると、私には何のデータも与えません。Visual BasicでiFrameの要素がクリックされる
私は、docはHtmlDocumentであり、iframeはHtmlWindowかその行に沿ったものであると考えました。それが働いていない理由ですが、私はこれを宣言するために行く方法がわかりません。
基本的には、ページ上の任意の要素をクリックするだけで、座標とサイズが表示されます。iFrame内の要素を除くすべての要素でうまく機能します。
Dim WithEvents doc As HtmlDocument
Private Sub WinBrowse_DocumentCompleted(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs) Handles webBrowser.DocumentCompleted
doc = CType(sender, WebBrowser).Document
End Sub
Private Sub doc_Click(ByVal sender As Object, ByVal e As System.Windows.Forms.HtmlElementEventArgs) Handles doc.Click
documentClicked(webBrowser, e)
End Sub
私はこれが完全な答えであるかどうかはわかりませんが、私の経験では、VB WebBrowserコントロールは完全なブラウザではありません。常駐IEブラウザエンジンを使用して簡単に表示するVBコントロールですHTMLページ。 いくつかの機能はその機能を超えています(contenteditableを使ってみてください)。 私はiframeを試していませんが、それが気に入らなければ私を驚かせることはありません。本当に限られています。 –
私は、WebページのすべてのiFrameを見つけて要素を見つけることで、iFrameの要素を自動的に取得できます。基本的には、HTMLDocumentの代わりにiFrame(HTMLWIndow)を生成するiFrameClickedサブを持つ必要があります。私の理解に。 – Torewin
OK - これは有望だと思います... iframe要素を取得できれば、iframeドキュメント(これはコンテナHTMLドキュメントとは別のドキュメントです)内で正しく識別する必要があるかもしれません。 コードが表示されていないと、他にはあまりお勧めできません。 –