2010-11-29 4 views
0

Ich arbeite mit dem Webbrowser-Steuerelement in C# und versuche, auf einige HtmlElements im Dokument zuzugreifen. Das Problem besteht darin, dass der Dokumentkörper nur zwei von fünf Kindern enthält. (http://www.target.com/cart/ref=nav_sc_rev_checkout). Ich kann also nicht auf bestimmte Elemente im Body zugreifen, obwohl dies in der Benutzeroberfläche gut dargestellt wird.Kann Webbrowser-Steuerelement "schlechtes" HTML behandeln?

Ich vermute, dass es im Body schlechten HTML gibt, so dass der Dokumentbaum beschädigt ist?

Gibt es eine Möglichkeit, damit umzugehen, da es immer noch nett macht ..?

Danke.

aktualisieren: Das Problem war, dass das Document Ereignis ausgelöst wurde, aber der Doc nicht vollständig analysiert wurde, so dass war, warum ich bekam nur 2 von 5 Elementen.

Antwort

1

Ja, der WebBrowser ist ein Wrapper rund IE und es wird schlechtes HTML so gut wie möglich behandeln.

0

Können Sie nicht einfach den Inhalt in eine Textdatei anstelle eines Webbrowser-Steuerelements schreiben und daraus eine HTML-Datei machen. Dann laden Sie es in Ihren Browser und inspizieren Sie mit dem Dev-Tool Ihrer Wahl.

0

Neben der Tatsache, dass der HTML-Code dieser Website mehr als 200 errors (meist fehlende Entitäten) haben, können Sie versuchen, den Code in ein XmlDocument oder XDocument in Ihrem Programm zu laden und auf die gewünschten Knoten über XPath zuzugreifen.

0

Wenn Sie programmgesteuert mit HTML und insbesondere schlechtem HTML interagieren müssen, würde ich Ihnen empfehlen, einen Blick auf HTMLAgilityPack zu werfen.

Dies ist ein wendiger und HTML-Parser, der eine Lese baut/schreiben DOM und unterstützt Ebene XPath oder XSLT (Sie tatsächlich müssen nicht XPATH noch XSLT verstehen, es zu benutzen, keine Sorge. ..). Es ist eine .NET-Code-Bibliothek, mit der Sie "aus dem Web" HTML-Dateien analysieren können. Der Parser ist sehr tolerant mit "real Welt" fehlerhafte HTML. Das Objekt Modell ist sehr ähnlich, was schlägt vor, System.Xml, aber für HTML-Dokumente (oder Streams).

Verwandte Themen