【问题标题】:Cannot click a button by its known Element Id on Webbrowser #Vb.net无法通过 Webbrowser #Vb.net 上的已知元素 ID 单击按钮
【发布时间】:2018-03-30 18:33:56
【问题描述】:

我的应用程序是某种 Mini Web Browser 应用程序。在我的应用程序中,我有用于登录 Google 的按钮,它将为 Google 的 'Sign In' 或更具体地说是 'Next' 按钮完成工作。我可以通过使用 Inspect Elements 来获取 ElementId,而按钮的 ElementId"passwordNext" 。但是,当我尝试使用我的按钮单击按钮时,它会失败,就好像程序找不到具有此 Id 的任何元素一样。

屏幕截图(ElementId 用于“下一步”按钮):

代码:

Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click
        If Not IsNothing(wbMain.Document.GetElementById("passwordNext")) Then
            wbMain.Document.GetElementById("passwordNext").InvokeMember("Click")
        End If
End Sub

【问题讨论】:

    标签: javascript vb.net webbrowser-control


    【解决方案1】:

    请记住WebBrowser 控件使用的是旧的 IE 版本(不一定是您安装的最新版本),我注意到您正在使用 Chrome 进行调试(我一开始也是如此)。如果您查看 webbrowser 生成的源代码,您会注意到该按钮的 ID 不同,为 id="next"。因此,只需将您的代码更改为如下所示:

    If Not IsNothing(wbMain.Document.GetElementById("next")) Then
        wbMain.Document.GetElementById("next").InvokeMember("Click")
    End If
    

    你应该很高兴。

    【讨论】:

    • 干得好。但是您的代码仅在他写电子邮件并单击时第一次尝试时有效,但在下一个按钮“passwordNext”上它将不起作用。
    猜你喜欢
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多