使用JavaScript / VB.Net调用不和谐的HTML代码

时间:2018-11-06 00:06:25

标签: javascript html vb.net element discord

我的问题很简单,我正在尝试使用 java-script .Net 将文本发送给个人或服务器。通常,当我在网站上执行此操作时,您只需调用脚本并在其中输入文本即可。例如,下面的脚本将在youtube搜索框中输入文本。

Form2.WebBrowser1.Document.GetElementById("search_query").SetAttribute("value", TextBox1.Text)

下面的脚本将在不和谐响应框中输入文本,但将立即消失。即使在html资源管理器中手动更改了值,然后单击响应栏上的输入也将导致文本消失或恢复为原始状态。

Dim elements2 = Form2.WebBrowser1.Document.GetElementsByTagName("textarea")
For Each element As HtmlElement In elements2
    If element.GetAttribute("className") = "textArea-2Spzkt textArea-2Spzkt scrollbarGhostHairline-1mSOM1 scrollbar-3dvm_9" Then
        element.Focus()
        element.SetAttribute("value", TextBox1.Text)
    End If
Next

原始HTML:

enter image description here

从环顾四周看来,discord具有可以正确调用文本框的JavaScript?我对如何解决这个问题以获得工作结果有些迷惑。如果解决方案是JavaScript,我也将其作为受人尊敬的回应。任何指针都非常感谢!

编辑:

我发现此javascript能够更改响应框中的文本,但是agian,一旦您单击文本框将其发送,它就会消失/恢复。

document.getElementsByClassName("textArea-2Spzkt textArea-2Spzkt scrollbarGhostHairline-1mSOM1 scrollbar-3dvm_9").item("textContent").value="hello"

1 个答案:

答案 0 :(得分:0)

我尝试了下面的代码,并且有效:

    Dim element1 As HtmlElement
    Dim elements2 = Form2.WebBrowser1.Document.GetElementsByTagName("textarea")
    Dim text1 As String
    Dim text2 As String

    'text1 is the string you want to input with
    text1 = "ok it works again"
    text2 = text1 & "{ENTER}"

    'I find that there is only one element in this collection, so no need to use for each loop
    element1 = elements2.Item(0)
    element1.Focus()

    SendKeys.SendWait(text2)