2012-09-10 4 views
1

Est-il possible d'obtenir une source de page avec des commentaires IE via WatiN? WatiN expose DocumentElement.outerHTML mais il contient un document sans les commentaires.Commentaires WatiN et IE

EDIT Lorsque nous avons un regard sur les commentaires IE via View Source dans IE, nous voyons quelque chose comme:

<!--[if IE]> 
<p>Welcome to Internet Explorer.</p> 
<![endif]--> 

Mais quand nous regardons le code HTML effectivement rendu par l'objet document, nous voir seulement:

<p>Welcome to Internet Explorer.</p> 

Ie les commentaires IE ne sont pas inclus dans le document rendu, mais les commentaires HTML habituels le sont.

Répondre

1

Ajouter ce en haut de votre code:

using SHDocVw; 

et l'utiliser pour obtenir le contenu HTML réel

InternetExplorer internetExplorer = (InternetExplorer)browser.InternetExplorer; 
string htmlContent = internetExplorer.Document.documentElement.OuterHTML; 

Bonne chance.

Editer: Il semble que j'ai mal compris ce que vous voulez. Après avoir modifié votre message, j'ai essayé quelque chose. Ouvert un site Web dans Opera et Chrome qui incluent <!--[if IE]-->, puis exécuté cette commande dans la console: document.head.innerHTML. Les deux navigateurs ont donné la sortie avec le [if IE], cependant en l'essayant dans IE il semble qu'après le rendu de la page, IE supprime tout cela.

Il doit y avoir un moyen d'y parvenir, mais je ne pouvais pas trouver une solution sans télécharger la page entière avec System.Net ou autre chose, puis en lisant son contenu.

Éditer 2: J'ai trouvé un autre moyen, mais je ne sais pas si vous aimez la solution. Regardez ce code: http://pastebin.com/4EvLSuEL

Il fait un appel ajax pour charger le contenu de la page, puis colle le résultat dans un textarea caché. Après cela, en utilisant ElementWithTag de WatiN nous obtenons cette valeur textarea dans notre chaîne myContent.

J'espère que cela vous aide, c'est ce que je peux faire de mieux.

+0

Comme je l'ai dit plus haut, la propriété outerHTML contient du HTML rendu qui n'inclut pas les commentaires IE (les commentaires HTML habituels sont rendus ok et sont présents dans l'arborescence DOM comme des nœuds de type COMMENT_NODE). Je mettrai à jour le message pour être plus clair. – Centro

+0

De ce que j'ai enquêté, la seule chose à faire est de télécharger toute la page dans mon cas. Pour ce faire via JavaScript avec browser.RunScript est une bonne idée. – Centro

+0

Ou, même la meilleure solution est juste de télécharger le document comme ceci 'new WebClient(). DownloadString (url)' – Centro

Questions connexes