【发布时间】:2011-02-14 09:34:01
【问题描述】:
我正在尝试通过 WebBrowser 控件以编程方式加载网页,目的是测试页面及其 JavaScript 函数。基本上,我想将通过此控件运行的 HTML 和 JavaScript 与已知输出进行比较,以确定是否存在问题。
但是,我在创建和导航 WebBrowser 控件时遇到了麻烦。下面的代码旨在将 HtmlDocument 加载到 WebBrowser.Document 属性中:
WebBrowser wb = new WebBrowser();
wb.AllowNavigation = true;
wb.Navigate("http://www.google.com/");
在 Navigate() 运行后通过 Intellisense 检查 Web 浏览器的状态时,WebBrowser.ReadyState 为“未初始化”,WebBrowser.Document = null,总体上看来完全不受我的调用影响。
根据上下文,我在 Windows 窗体对象之外运行此控件:我不需要加载窗口或实际查看页面。需求表明需要简单地执行页面的 JavaScript 并检查生成的 HTML。
非常感谢任何建议,谢谢!
【问题讨论】:
-
您是否有可能阻止请求的防火墙?见channel9.msdn.com/forums/TechOff/253431-WebBrowser-Ctrl-in-MFC
-
Windows 防火墙已关闭(我们有路由器防火墙),这是一台开发计算机。我之前已经发出过许多此类请求(TCP、HTTP 等),但都没有问题,所以我不太确定这是一个安全问题。
-
我添加了一个简单的示例,说明如何从控制台应用程序处理此问题。
标签: c# .net controls browser navigateurl