2013-01-09 46 views
1

我在程序中使用此代码...如何捕获IE事件

System.Diagnostics.Process.Start("www.something.com"); 

它打开该网址在IE.User进入页面的一些细节,并点击提交button.Browser导航那些细节其他网页我需要执行一些操作,同时浏览网页...

如何捕获浏览器导航事件......

回答

3

而是启动一个单独的浏览器进程,你应该考虑使用Web浏览器控件。您可以导航到您想要的任何页面,捕获事件,并且通常控制整个浏览过程。


如果你想从ASP.NET或其他一些非交互的环境中做到这一点,那么答案是非常不同

如果表单不是很复杂,那么您可以尝试使用WebClient发布到URL并阅读结果。如果事情稍微复杂一些,请使用WebRequest。

如果表单确实需要在浏览器中运行(可能需要JavaScript),那么您必须在浏览器中运行它。您无法访问在单独进程中运行的浏览器中发生的事件。而且你无法在ASP.NET中运行WeBBrowser控件。这意味着你需要做更复杂的事情。

我会建议您按照我原来的建议编写一个简单的Windows窗体应用程序,承载WebBrowser控件。该应用程序将能够捕获事件并执行与IE进行交互所需的任何其他事情。为了让该程序与ASP.NET进行交互,我建议您让它自行托管一个WCF服务。您的ASP.NET应用程序将使用该服务与Winforms应用程序进行通信,而该应用程序又将与浏览器进行交互。

您必须强制WCF服务一次只处理一个请求,因为只有一个WebBrowser控件。如果您需要一次处理多个请求,则需要创建多个winforms应用程序实例。

+0

TQ,但Web浏览器控件在ASP中不起作用。是否有其他解决方案。 – Gowri

+0

您试图从ASP.NET页面执行此操作非常重要。你真的**需要告诉我们。 –