winforms 如何从WebBrowser控件的HtmlDocument显示TextArea的内容

gijlo24d  于 2022-11-25  发布在  其他
关注(0)|答案(1)|浏览(144)

我的站点的页面中有一个TextArea,我想使用WebBrowser控件的Document将此TextArea的文本显示到Label中。
以下是TextArea定义:

<textarea class="cadr" id="bar" name="saisie"style="height: 260px; width: 700px;"> simple text</textarea>

我该怎么做呢?我有这样的代码:

WebBrowser1.Document.GetElementById(label1.text).GetAttribute("value", "bar")`
pvabu6sv

pvabu6sv1#

您描述的元素没有ID,因此您必须求助于TEXTAREA及其DIV父元素的className(以减少获得错误元素的机会)。

<div class="labelapper"><textarea rows="3" cols="80" class="Label">text1</textarea></div>

可以使用GetElementsByTagName()代替GetElementsById(),然后过滤结果
大概是这样的:

Imports System.Linq
' [...]

dim innerText = String.Empty
dim textArea = WebBrowser1.Document.GetElementsByTagName("TEXTAREA").
    OfType(Of HtmlElement)().
    FirstOrDefault(Function(elm) elm.GetAttribute("className") = "Label" AndAlso 
        elm.Parent.GetAttribute("className") = "labelapper")
if textArea IsNot Nothing Then
    innerText = textArea.InnerText
End If

编辑:原始帖子中的HtmlElement已更改,现在显示ID

dim textArea = WebBrowser1.Document.GetElementById("bar")
if textArea IsNot Nothing Then
    label1.Text = textArea.InnerText
End If

相关问题