2013-01-09 48 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頁面執行此操作非常重要。你真的**需要告訴我們。 –