调用单击 Cefsharp VB
Invoke Click Cefsharp VB
我想模拟点击或按键到我的 visual studio vb 项目中的 Web 浏览器元素。
我已经找到了为 visual studio 内置的 webbrowser 对象执行此操作的方法,但我使用的是 cefsharp 浏览器,所以
weBrowser.Document.GetElementById('id').InvokeMember("Click")
不起作用,因为 cefsharp 不允许 .Document
。因此,重申一下,我的问题是,我将如何使用 vb 来模拟对我的 cefsharp 网络浏览器的点击?感谢您的帮助,祝您有愉快的一天。
编辑:我一直在研究这段代码:
Dim elementID As String = "myBtn"
Dim click As String = "Click"
browser.ExecuteScriptAsync("Document.All(elementID).InvokeMember(click)")
但我不确定它是否有效或如何使用 elementID 部分(我不确定哪种网络元素可以放在这里)。也许这些额外的信息会有所帮助。
使用 ExecuteScriptAsync
将针对 Chrome 引擎执行 JavaScript,因此您必须向此函数发送有效的 JavaScript。以下代码显示了如何使用 DuckDuckGo
开始搜索
Imports System.Threading
Imports CefSharp
Imports CefSharp.WinForms
Public Class Form1
Private _browser As New ChromiumWebBrowser()
Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
_browser.Top = 10
_browser.Left = 10
_browser.Width = 600
_browser.Height = 400
Controls.Add(_browser)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
_browser.Load("https://duckduckgo.com/")
'for simplicity just wait until page is downloaded, should be handled by LoadingStateChanged
Thread.Sleep(3000)
Dim jsScript As String = <js><![CDATA[
document.all("q").value = "stack overflow";
document.all("search_button_homepage").click();
]]></js>.Value
_browser.ExecuteScriptAsync(jsScript)
End Sub
End Class
我想模拟点击或按键到我的 visual studio vb 项目中的 Web 浏览器元素。
我已经找到了为 visual studio 内置的 webbrowser 对象执行此操作的方法,但我使用的是 cefsharp 浏览器,所以
weBrowser.Document.GetElementById('id').InvokeMember("Click")
不起作用,因为 cefsharp 不允许 .Document
。因此,重申一下,我的问题是,我将如何使用 vb 来模拟对我的 cefsharp 网络浏览器的点击?感谢您的帮助,祝您有愉快的一天。
编辑:我一直在研究这段代码:
Dim elementID As String = "myBtn"
Dim click As String = "Click"
browser.ExecuteScriptAsync("Document.All(elementID).InvokeMember(click)")
但我不确定它是否有效或如何使用 elementID 部分(我不确定哪种网络元素可以放在这里)。也许这些额外的信息会有所帮助。
使用 ExecuteScriptAsync
将针对 Chrome 引擎执行 JavaScript,因此您必须向此函数发送有效的 JavaScript。以下代码显示了如何使用 DuckDuckGo
Imports System.Threading
Imports CefSharp
Imports CefSharp.WinForms
Public Class Form1
Private _browser As New ChromiumWebBrowser()
Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
_browser.Top = 10
_browser.Left = 10
_browser.Width = 600
_browser.Height = 400
Controls.Add(_browser)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
_browser.Load("https://duckduckgo.com/")
'for simplicity just wait until page is downloaded, should be handled by LoadingStateChanged
Thread.Sleep(3000)
Dim jsScript As String = <js><![CDATA[
document.all("q").value = "stack overflow";
document.all("search_button_homepage").click();
]]></js>.Value
_browser.ExecuteScriptAsync(jsScript)
End Sub
End Class