2010-03-29 11 views
7

Posso usare le espressioni XPAth per navigare tra gli elementi DOM nel controllo WebBrowser? Può essere allegando il codice javascript e utilizzare la funzione document.evaluate è giusto?Controllo navigazione e WebBrowser

Un altro componente del browser activeX (firefox, webkit.net) può aiutarmi a risolvere il mio compito?

risposta

7

Il controllo Microsoft WebBrowser è un wrapper gestito attorno al controllo del browser Web COM di Microsoft, per quanto ho capito. Quindi sotto la cappa è lo stesso rendering e implementazione del DOM che utilizza IE, chiamato MSHTML. Poiché ciò non supporta XPath rispetto al suo DOM HTML, non supporta il metodo 'evaluate' (che fa parte del W3C DOM Level 3 XPath) Non vedo un modo per eseguire query XPath su un documento HTML caricato nel controllo WebBrowser di Microsoft . Se non ci sono controlli del browser Web di terze parti basati su altri browser che supportano XPath contro un DOM HTML non lo so.

Se si desidera utilizzare .NET per eseguire XPath su un documento HTML, esiste the HTML agility pack. Ciò è indipendente dal controllo WebBrowser, quindi non è possibile utilizzarlo per navigare in un documento HTML caricato in un controllo WebBrowser, invece si dovrebbe lavorare con un'implementazione separata.

+0

+1, grazie per la risposta. Io sto usando il pacchetto agility, ma ho bisogno di navigare (devo selezionare/evidenziare nodi specifici) nel codice HTML. Ci sono alternative? Nulla? – Shimmy

Problemi correlati