VB.NET 프레임 워크를 사용하여 문서의 요소를 가져 오는 사용자 지정 브라우저를 만들었습니다. 간단한 요약의 경우 각 요소를 클릭 할 때마다 documentClicked가 메시지를 표시하지만 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을 사용해 본 적이 없지만 마음에 들지 않으면 놀라지 않을 것입니다. 실제로는 매우 제한적입니다. –
웹 페이지에서 모든 iFrame을 찾아 요소를 찾으면 자동으로 iFrame의 요소를 가져올 수 있습니다. 기본적으로 HTMLFrame 대신 iFrame (HTMLWIndow)을 생성하는 iFrameClicked 하위가 필요합니다. 내 이해에. – Torewin
OK - 유망한 것 같습니다 ... iframe 요소를 얻을 수 있다면 iframe 문서 (컨테이너 HTML 문서와 완전히 별개의 문서)에서 제대로 식별해야합니다. 코드를 보지 않고도 다른 방법을 제안 할 수는 없습니다. –