簡體   English   中英

嘗試登錄網站C#時出錯

[英]Error when trying to log into website c#

我正在嘗試使用getelementbyid在C#中登錄Twitter移動版本。 但是,當我調用登錄按鈕的單擊時,出現以下錯誤。 “ 你調用的對象是空的。” 這是即時通訊使用的代碼。 任何幫助都將是驚人的。

private void button1_Click(object sender, EventArgs e)
{
    webBrowser1.Document.GetElementById("session[username_or_email]").InnerText = textBox1.Text.ToString();
    webBrowser1.Document.GetElementById("session[password]").InnerText = textBox2.Text.ToString();
    webBrowser1.Document.GetElementById("signupbutton").InvokeMember("click");
}

確保Document首先已完全加載,因此請使用WebBrowser可用的DocumentCompleted事件。

DocumentCompleted事件處理程序添加到某處(在構造函數或窗體加載中,具體取決於項目的性質)

private void Form_Load(object sender, EventArgs e) 
{
    //An example place to add this event handler.
    webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(Document_Complete);
}

private void Document_Complete(object sender, WebBrowserDocumentCompletedEventArgs e)
{
   webBrowser1.Document.GetElementById("session[username_or_email]").InnerText = textBox1.Text;
   webBrowser1.Document.GetElementById("session[password]").InnerText = textBox2.Text;
   webBrowser1.Document.GetElementById("signupbutton").InvokeMember("click");
}

DocumentCompleted可以觸發很多次,在這種情況下,請參閱這篇文章中的答案以提供幫助。

DocumentComplete文檔

另外,不需要在TextBoxes Text屬性上調用.ToString() ,它已經是字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM