C# 通过C中的WebBrowser控件获取HTML源代码#
我尝试通过以下方式获取HTML源代码:C# 通过C中的WebBrowser控件获取HTML源代码#,c#,C#,我尝试通过以下方式获取HTML源代码: webBrowser1.Document.Body.OuterHtml; 但它不起作用。例如,如果原始HTML源是: <html> <body> <div> <ul> <li> <h3> Manufacturer</h3> <
webBrowser1.Document.Body.OuterHtml;
但它不起作用。例如,如果原始HTML源是:
<html>
<body>
<div>
<ul>
<li>
<h3>
Manufacturer</h3>
</li>
<li><a href="/4566-6501_7-0.html?
filter=1000036_3808675_100021_10194772_">Sony </a>(44)</li>
<li><a href="/4566-6501_7-0.html?
filter=1000036_108496_100021_10194772_">Nikon </a>(19)</li>
<li><a href="/4566-6501_7-0.html?
filter=1000036_3808726_100021_10194772_">Panasonic </a>(37)</li>
<li><a href="/4566-6501_7-0.html?
filter=1000036_3808769_100021_10194772_">Canon </a>(29)</li>
<li><a href="/4566-6501_7-0.html?
filter=1000036_2913388_100021_10194772_">Olympus </a>(21)</li>
<li class="seeAll"><a href="/4566-6501_7-0.html?
sa=1000036&filter=100021_10194772_" class="readMore">See all manufacturers </a></li>
</ul>
</div>
</body>
</html>
如您所见,许多
丢失了
有没有办法在WebBrower
控件中正确获取HTML源代码?请注意,在我的应用程序中,我尝试使用WebBrowser
向每个节点添加坐标信息,并使用坐标信息输出其HTML源,坐标信息作为节点的属性添加
有人能帮我一个忙吗?试试使用或属性。你试过
WebBrowser1.DocumentText
看看这个。
您可以使用System.Net中的
Webclient.DownloadString
(它还有Webclient.DownloadStringAsync
…)以下是说明:谢谢大家。我的最终解决方案是:首先,使用body.outlineHtml
获取html源代码。因为body.outlineHtml可能会丢失
和
的结束标记,所以第二步是使用tidy修复HTML源代码。在这些之后,我们可以毫无错误地获取HTML源代码如果您想要获取WebBrowser控件的整个HTML源代码,那么请使用-WebBrowser1.Document.GetElementsByTagName(“HTML”).Item(0).OuterHtml。当然,这假设您已经正确格式化了HTML,并且HTML标记已经存在。如果你想把它缩小到仅仅是body,那么很明显,把HTML标记改为body标记。通过这种方式,您可以在设置“DocumentText”后获取任何和所有更改。对不起,我是一个VB的家伙,根据需要转换;) 是,WebBrowser1.DocumentText返回正确的HTML源代码。但是,当我向DOM树中的节点添加一些属性(myIHTMLElement.setAttribute())时,WebBrowser1.DocumentText获取的HTML源不包含任何添加的属性是的,DocumentText和DocumentStream都可以返回正确的HTML源。但是,当我向DOM树中的节点(myIHTMLElement.setAttribute())添加一些属性时,WebBrowser1.DocumentText获取的HTML源不包含任何添加的属性attributes@Rockucqu,那么InnerHtml
property-返回正确的html吗?在我的应用程序中,我需要使用WebBrowser向每个节点添加坐标信息,并将坐标信息作为节点属性添加到HTML源中。Webclient无法执行此任务
<body>
<div>
<ul>
<li>
<h3>
Manufacturer</h3>
<li><a href="/4566-6501_7-0.html?filter=1000036_3808675_100021_10194772_">Sony </a>(44)
<li><a href="/4566-6501_7-0.html?filter=1000036_108496_100021_10194772_">Nikon </a>(19)
<li><a href="/4566-6501_7-0.html?filter=1000036_3808726_100021_10194772_">Panasonic
</a>(37)
<li><a href="/4566-6501_7-0.html?filter=1000036_3808769_100021_10194772_">Canon </a>
(29)
<li><a href="/4566-6501_7-0.html?filter=1000036_2913388_100021_10194772_">Olympus </a>
(21)
<li class="seeAll"><a class="readMore" href="/4566-6501_7-0.html?sa=1000036&filter=100021_10194772_">
See all manufacturers </a></li>
</ul>
</div>
</body>