首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用Click Cefsharp VB

调用Click Cefsharp VB
EN

Stack Overflow用户
提问于 2017-10-22 13:22:09
回答 1查看 3.8K关注 0票数 1

我想模拟一个点击或按键的网页浏览器元素,是在我的visual项目。我已经为内置到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部分(我不知道在这里可以使用什么类型的web元素)。也许这些额外的信息会有帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-24 06:05:09

使用ExecuteScriptAsync将对Chrome引擎执行JavaScript,因此您必须向该函数发送有效的JavaScript。下面的代码演示如何使用DuckDuckGo启动搜索

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46874570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档