2010-03-29 8 views
7

Kann ich mit XPAth-Ausdrücken durch DOM-Elemente im WebBrowser-Steuerelement navigieren? Kann Javascript-Code beifügen und verwenden Sie document.evaluate Funktion ist richtig?Navigation und WebBrowser-Steuerelement

Kann mir eine andere ActiveX-Browser-Komponente (firefox, webkit.net) helfen, meine Aufgabe zu lösen?

Antwort

7

Das Microsoft WebBrowser-Steuerelement ist ein verwalteter Wrapper um Microsofts COM-Webbrowser-Steuerelement, soweit ich es verstehe. Unter der Haube ist es dieselbe Rendering- und DOM-Implementierung, die IE verwendet, MSHTML genannt. Da XPath nicht mit seinem HTML-DOM unterstützt wird, wird die Methode 'evaluate' (die Teil von W3C DOM Level 3 XPath ist) nicht unterstützt. Ich sehe keine Möglichkeit, XPath-Abfragen für ein HTML-Dokument auszuführen, das in Microsofts WebBrowser-Steuerelement geladen ist . Ob es Drittanbieter-.NET-Webbrowsersteuerelemente gibt, die auf anderen Browsern basieren, die XPath gegen ein HTML-DOM unterstützen, weiß ich nicht.

Wenn Sie mit .NET XPath für ein HTML-Dokument ausführen möchten, gibt es the HTML agility pack. Dies ist jedoch unabhängig vom WebBrowser-Steuerelement, sodass Sie es nicht zum Navigieren in einem HTML-Dokument verwenden können, das in ein WebBrowser-Steuerelement geladen wurde. Stattdessen würden Sie mit einer separaten Implementierung arbeiten.

+0

+1, danke für deine Antwort. Ich benutze das Agility-Pack, aber ich muss navigieren (ich muss bestimmte Knoten markieren oder markieren) im HTML. Gibt es Alternativen? Etwas? – Shimmy