2013-04-23 26 views
0

如果我有一個應用程序[C#]與其中的Web瀏覽器控件,我想填充第一個文本區域的信息點擊關閉一個按鈕。我會怎麼做?如何自動填充C#中的文本框,如果它有一個名稱屬性,但沒有ID

我怎麼會自動填寫在C#中的textarea使用Web瀏覽器,如果它有

<textarea class="profile" name="message"></textarea><br /> 

但是,沒有ID字段集?

[C#]

private void messageToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     webBrowser1.Document 
      .GetElementsByTagName("textarea") 
      .GetElementsByName("message")[0] 
      .SetAttribute("value", "Something"); 
     // HtmlDocument doc = this.webBrowser1.Document; 
    // doc.GetElementsByTagName("textarea")[0].SetAttribute("Value", "a"); 
    } 


    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
    { 
     MessageBox.Show("LoadedLux"); 
     webBrowser1.Document 
      .GetElementsByTagName("input") 
      .GetElementsByName("q")[0] 
      .SetAttribute("value", "Something"); 
    } 
+1

你在說什麼? – SLaks 2013-04-23 02:56:46

+0

你會如何設置ID ID?顯示該示例,它可能有助於爲您的案例找到解決方案。 – 2013-04-23 02:57:20

+0

因此,例如,如果它是:
然後我可以使用 的document.getElementById( 「盒」)的setAttribute(」價值「,」ThisNewBox「); 但是如果沒有ID SET? – user1999321 2013-04-23 03:01:37

回答

2

您是否嘗試過這個?:

webBrowser1.Document.GetElementsByTagName("textarea").GetElementsByName("message")[0].SetAttribute("Value", "ThisNewBox"); 

UPDATE

我剛纔想在Google.com以下和它的正常工作:

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
     { 
      webBrowser1.Document 
       .GetElementsByTagName("input") 
       .GetElementsByName("q")[0] 
       .SetAttribute("value", "Something"); 
     } 
+0

@ Matt ..它給出了此錯誤: '0'的值對'index'無效。 '索引'應該在0和-1之間。 參數名稱:index – user1999321 2013-04-23 03:24:56

+0

查看我的更新。您可以通過將您的網址設置爲http://www.google.com並使用上述代碼進行測試。然後,只需將其修改爲您自己的場景 – Matt 2013-04-23 03:30:12

+0

PS - 我看到你是新來的。歡迎。請記住,如果它有助於解決您的問題,請將其接受爲「答案」。 – Matt 2013-04-23 03:32:47

相關問題