2016-12-14 166 views
0

我有一個問題需要解決。C#如何打開一個網頁並點擊一個按鈕

按鈕具有此代碼:

WebBrowser wb = new WebBrowser(); 
wb.Navigate(link, true); 
wb.Document.GetElementById(idname).InvokeMember("click"); 

我對的getElementById一個NullReferenceException,因爲當我到達它的網頁是「白」。如果我評論GetElementById,則頁面可以正確打開。

感謝

+0

您可以使用幾秒鐘的延時定時器,可以調用點擊。 –

+0

嗨,阿南德,謝謝你的答案。我想這不是延遲問題。因爲如果我調試,頁面仍然是「白色」,直到我的代碼的最後一個「}」。這是一種特殊的行爲,因爲在指令之後文檔仍然爲空,但是如果我正確運行整個頁面加載的應用程序。 我不知道我是否解釋得很好 –

回答

0

這就是:

private WebBrowser _wb = new WebBrowser(); 

public FormMain() 
{ 
    _wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted); 
    InitializeComponent(); 
} 
+0

WebBrowser旨在用作視覺控制 - 您通常不會像這樣構造它並直接在代碼中使用它。確保你創建一個帶有該控件的窗體。 – MadOX

+1

我不得不使用視覺控制,現在它工作正常。謝謝! –

相關問題