C#使用隐藏的webbrowser控件来获取页面内容

时间:2012-07-16 10:05:52

标签: c# webbrowser-control

HY,

我正在使用webbrowser控件来获取页面的某些内容并在程序中使用它(C#)。

当我看到webbrowser可见(this.webBrowser1.Visible = true;)程序运行正常,但是当我将值设置为false(this.webBrowser1.Visible = false;)时,我得到错误这部分代码:

HtmlWindow SContentFrame = webBrowser1.Document.Window.Frames[1];
HtmlWindow Frame_A = SContentFrame.Document.Window.Frames[2];
HtmlElementCollection bigFontTags = Frame_A.Document.GetElementsByTagName("b");

我是否需要选择webbrowser或类似的东西???还是有另一个问题?因为当webbrowser控制器可见时,这段代码可以工作,但是当我隐藏webbrowser时,它根本不起作用......

任何想法都会受到赞赏....

TWCrap

2 个答案:

答案 0 :(得分:3)

听起来你正以错误的方式接近这一点。

webbrowser并不是以这种方式使用,为什么不只是使用WebClient在后台下载网页的内容?这比WebBrowser的开销要低得多。

如果您正在使用抓取类型应用程序,HTML Agility Pack非常有用。

答案 1 :(得分:2)

简单的诀窍是隐藏表单上的浏览器偏移量,因此如果您的表单宽度为300px,则将浏览器左侧放在350上