C # веб-браузер изменяет источник - PullRequest
2 голосов
/ 08 октября 2010

У меня есть элемент управления веб-браузера, по которому я перехожу по URL-адресу, содержащему этот HTML-код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <title></title>
</head>
<body marginheight="60" topmargin="60">
    <p align="center"><img src="nocontent.jpg" alt="" height="434" width="525" border="0" /></p>
</body>
</html>

Но когда я использую этот код для получения источника:

HTMLDocument objHtmlDoc = (HTMLDocument)browser.Document.DomDocument;
string pageSource = objHtmlDoc.documentElement.innerHTML;
Console.WriteLine(pageSource);

Это результат:

<HEAD><TITLE></TITLE>
<META content=text/html;charset=utf-8 http-equiv=content-type></HEAD>
<BODY topMargin=60 marginheight="60">
<P align=center><IMG border=0 alt="" src="nocontent.jpg" width=525 height=434></P></BODY>

Это бесполезно для дальнейшей обработки, как я могу убедиться, что он показывает тот же источник, что и при щелчке правой кнопкой мыши и выборе «просмотра источника»?

1 Ответ

6 голосов
/ 08 октября 2010

Используйте browser.DocumentText для получения исходного HTML.

Использование класса HTMLDocument заставит его генерировать HTML из концептуальной модели документа, а не отображать исходный источник.

...