javascript - 使用 JavaScript / VB.Net 在不和谐中调用 HTML 代码
问题描述
我的问题很简单,我正在尝试使用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"
解决方案
我试过下面的代码,它可以工作:</p>
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)
推荐阅读
- html - 位置绝对页脚也跟随滚动
- javascript - 如何在引导程序中使用轮播和从节点 js 呈现的数据?
- python - 基于现有数据框的汇总统计信息的新数据框
- ios - Xamarin.Forms 不会改变媒体
- elasticsearch - 我想问一下 Elasticsearch Head
- c++ - 如何检查某些东西是否可以用谷物序列化
- wpf - 从代码中设置 ValidationError 最简单的方法
- python-3.x - 比较不完整单元格的组
- erp - Datatex - 以信息结束的期间结束 [错误]
- flutter - Flutter objectbox:我可以用于生产 APP(仅限移动设备 Android 和 iOS)