2016-04-23 38 views
0

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"); 
} 
+0

どの行にエラーがありますか?不明な場合は、デバッガを使用してみてください。 – nhouser9

+0

ログインボタンがクリックされたのは最後の行です – Waypast

+0

'signupbutton'は要素の実際のIDですか? –

答えて

0

Documentが完全に最初にロードされていることを確認し、そうWebBrowserに利用できるDocumentCompletedイベントを使用しています。

は助けるためにthis postに答えを見た場合に、何度も、発火することができます(プロジェクトの性質に応じて、コンストラクタまたはフォーム負荷で)どこか

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"); 
} 

DocumentCompletedDocumentCompletedイベントハンドラを追加します。別に

DocumentComplete documentation

TextBoxesText性質上.ToString()をコールする必要が、それはすでに文字列だ、ありません。

関連する問題