【问题标题】:Invoking HTML code within discord using JavaScript / VB.Net使用 JavaScript / VB.Net 在不和谐中调用 HTML 代码
【发布时间】:2019-04-09 09:12:04
【问题描述】:

我的问题很简单,我正在尝试使用 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:

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

编辑:

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

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

【问题讨论】:

  • 根据您的屏幕截图,文本区域似乎正在使用元素的内部文本而不是 value 属性...如果您尝试使用 element.InnerText = TextBox1.Text 会发生什么?
  • @VisualVincent 遗憾的是根本没有结果。

标签: javascript html vb.net element discord


【解决方案1】:

我已经尝试了下面的代码,它可以工作:

    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)

【讨论】:

  • 最好有非 sendkey 选项吗?这种方法效率不高。
  • 我在使用 GetAttribute 时发现了与您相同的结果。到目前为止,sendkey 是我唯一的解决方案。
  • 使用您的解决方案,我已经能够对其进行修改并得到一些对我有用的东西。正因为如此,我会给你解决方案。如果其他人正在尝试这样做,您肯定希望将SendKeys.SendWait("{ENTER}") 添加到您的项目中。无需深入研究 API 和不和谐的机器人,这是解决它的唯一方法。要获得更有效的解决方案,您可以在 for 循环中添加我发布的问题,只需 SendKeys.SendWait("{ENTER}")
猜你喜欢
  • 2014-04-23
  • 2012-11-06
  • 2019-09-06
  • 2011-12-02
  • 1970-01-01
  • 2017-01-04
  • 2022-08-16
  • 1970-01-01
  • 2018-01-09
相关资源
最近更新 更多