首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# WebBrowser无法展开所有HtmlElements

C# WebBrowser无法展开所有HtmlElements
EN

Stack Overflow用户
提问于 2015-12-19 06:07:46
回答 1查看 274关注 0票数 2

我在爬行网页时遇到了问题,因为C# webClient类和webBrowser类无法检索HTML源中的所有子元素。

当我在Chrome甚至iExplorer中搜索代码时,我可以展开所有的HtmlElement节点,但是如果我试图从代码中展开所有这些元素,我就无法获得所有的节点。

我使用这个例程来获取节点:

代码语言:javascript
复制
string page = ConfigurationManager.AppSettings["url"];
webBrowser1.Navigate(page);
string directory = Directory.GetCurrentDirectory();
StreamReader myReader = new StreamReader(webBrowser1.DocumentStream);
StreamWriter myWriter = new StreamWriter(directory + @"\pageSource.txt");
while (myReader.Peek() >= 0)
{
     myWriter.WriteLine(myReader.ReadLine());
}
myWriter.Close();
myReader.Close();

文件pageSource.txt并不包含原始html源代码中的所有行。

例如,这是pageSource.txt内容:

代码语言:javascript
复制
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<noscript>
<meta HTTP-EQUIV="REFRESH" CONTENT="0;URL=index.jsp?noscript=1">
</noscript>
<title>Page</title>

</head>

<frameset id="indexFramst" onload="onloadHandler()" rows="135,24,*"  frameborder="0" framespacing="0" border=0 spacing=0>

    <frame name="Banner" title="Banner" src='banner.html'  tabIndex="3" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize=0>
    <frame name="Search" title="Toolbar" src='archive=100' marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize=0>
    <frame name="Bingo" title="BINGO" src='bingo.Html' marginwidth="0" marginheight="0" scrolling="no" frameborder="0" >
</frameset>
</html>

每个<frame>标记必须有一个结束项和子项,但是webBrowser1的文档不检索这个子项。

原始页面在每个框架中包含标签<html>标签与另一个嵌套的html文档。

如果有人知道我为什么不能检索这些节点,我将非常感谢您的提示。

EN

回答 1

Stack Overflow用户

发布于 2015-12-20 08:22:00

看起来框架集是not supported in html 5。也许webbrowser类默认为html5,尽管该页面将自己标识为HTML4。您可以尝试使用其他客户端来下载和处理文本。如果您需要javascript渲染的try phantomjs,或者如果您固定在c#上,您可以尝试在内部使用phantomjs的AbotX

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34364670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档