我试图通过VB使用WebBrowser与网页进行交互。当我点击软件中的一个按钮时,我希望它点击一个位于网页上的按钮。
使用放置在网站上的按钮上的检查元素,它显示为一个标准的div id,并将样式参数链接到它。还有一个jQuery事件,div正在引用该事件,显示为网站,但末尾www.example.com:77上有一个端口号。
jQuery如下所示
function() {
try {
gDvr.Record(false);
} catch (e) {}
}我所要做的就是注入该语句,以便通过我的VB应用程序将其设置为true。到目前为止,我有这个解决方案,但只链接到div id,这不是很有用。
WebBrowser1.Navigate("www.example.com/")
For Each Element As HtmlElement In WebBrowser1.Document.GetElementById("LVRcA").InvokeMember("click")
Exit For
Next Element发布于 2019-02-07 17:50:09
在过去,我使用InvokeScript方法来处理这样的场景。
.NET WebBrowser控件的一个健壮的替代方案是CefSharp,它是一个功能齐全的现代web浏览器控件/,它与.Net框架和VB.NET语言兼容。它提供了大量的文档操作。在我看来,这是标准微软WebBrowser控件附带的.Net控件的一个更好的替代方案。
我发现它更好,因为它不像.Net WebBrowser控件那样过时,它允许高级DOM操作、读取和处理现代html、css和javascript、支持现代视频格式等等。此外,针对HTML的高级编程是一个高度支持的特性。
更新:在StackOverFlow上有一个线程正在讨论如何模拟鼠标点击和CefSharp中的html键按下。VB.NET版本和C# (轻松转换为VB)向DOM 这里发送击键
https://stackoverflow.com/questions/54576841
复制相似问题