You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过WebBrowser控件的HtmlDocument获取TextArea内容并显示到Label

实现方法

你的现有代码存在两处核心错误:

  1. GetElementById的参数应该是TextArea的ID(也就是"bar"),而非label1.Text;
  2. TextArea的内容存储在标签内部,不是value属性,不能用GetAttribute("value")获取,需用InnerText或InnerHtml属性。

正确实现步骤

  1. 确保页面加载完成:必须在WebBrowser的DocumentCompleted事件中处理逻辑,避免页面未加载完成导致Document对象为空。
  2. 定位TextArea元素:通过ID精准找到目标TextArea控件。
  3. 提取文本内容:用InnerText获取纯文本内容(若需保留HTML格式则用InnerHtml)。
  4. 赋值给Label:将提取到的内容设置为Label的Text属性。

示例代码(C# WinForms)

private void WebBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    // 定位ID为bar的TextArea元素
    HtmlElement textArea = webBrowser1.Document.GetElementById("bar");
    if (textArea != null)
    {
        // 获取TextArea文本并赋值给Label1,Trim()可去除首尾空白(可选)
        label1.Text = textArea.InnerText.Trim();
    }
}

示例代码(VB.NET WinForms)

Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    ' 定位ID为bar的TextArea元素
    Dim textArea As HtmlElement = WebBrowser1.Document.GetElementById("bar")
    If textArea IsNot Nothing Then
        ' 获取TextArea文本并赋值给Label1,Trim()可去除首尾空白(可选)
        Label1.Text = textArea.InnerText.Trim()
    End If
End Sub

补充说明

  • 若TextArea无ID,也可通过GetElementsByName("saisie")按name属性查找,但返回的是元素集合,需取第一个匹配项。
  • 如需实时同步TextArea内容,可监听其onchange/onkeyup事件,或定时轮询获取内容。

内容的提问来源于stack exchange,提问作者Programming Expert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 18:10:48