Vb.net Web浏览器事件

Vb.net Web浏览器事件,vb.net,winforms,browser,Vb.net,Winforms,Browser,我在下面的代码中发现以下错误: 语句结尾应为第3行-第39列///错误2语句 不能出现在属性体中。假定财产终止。第5行 -列1///错误3未声明名称“pageready”。第28-31-36行第19-9-13列 基本上每次浏览者忙的时候,你都必须等待它回来 组合您的所有按钮(由浏览器上的等待分隔) 将它们组合成这样的东西 Private Sub WhateverButtonName(sender As Object, e As EventArgs) Handles WhateverButtonN

我在下面的代码中发现以下错误:

语句结尾应为第3行-第39列///错误2语句 不能出现在属性体中。假定财产终止。第5行 -列1///错误3未声明名称“pageready”。第28-31-36行第19-9-13列


基本上每次浏览者忙的时候,你都必须等待它回来

组合您的所有按钮(由浏览器上的等待分隔)

将它们组合成这样的东西

Private Sub WhateverButtonName(sender As Object, e As EventArgs) Handles WhateverButtonName.Click

    'Button1 Code
    WebBrowser1.Document.GetElementById("Email").SetAttribute("value", TextBox1.Text)
    WebBrowser1.Document.GetElementById("Passwd").SetAttribute("value", TextBox2.Text)
    WebBrowser1.Document.GetElementById("signIn").InvokeMember("click")
    WaitForPageLoad()

    'Button2 Code
     For Each acct As HtmlElement In WebBrowser1.Document.GetElementsByTagName("a")
     If acct.GetAttribute("href").Contains("https://accounts.google.com/b/0/PlusPageSignUp") Then
          acct.InvokeMember("click")
          WaitForPageLoad()
     End If
     Next



End Sub
另外,使用此代码运行Wait Subs(对不起,没有源代码,我忘了在哪里找到它)


编辑:添加了完整代码


更新

这正是您应该看到的,-曲线(我用实际值替换文本框进行测试)。我在Form2中重读了我的。您可以将Form2重命名为Form1


我很感激。我正在尝试测试,但我得到的pageready未声明为错误。我在另一个答案中找到了该代码,它的私有属性pageready()也是布尔值,但当我添加该属性时,我会发现更多错误。请更新您的问题并告诉我您将其放置在何处。你应该能够复制我的方式,删除纯文本,将按钮名称更改为你的buttonName,然后运行代码。这就是你提供的所有代码,以及它的外观。如果您有WebBrows1和button1,这应该会起作用。如果你收到错误,写回你收到的错误。我真的很感激你花时间帮助我。我复制/粘贴了最终代码,这里是错误列表;语句结尾应为第3行-第39列///错误2语句不能出现在属性体中。假定属性结尾。第5行-第1列///错误3未声明名称“pageready”。第28-31-36行第19-9-13列再试一次,没有错误。在我自己的应用程序jsut中重新尝试了这个逻辑,了解它是如何在更新中发布的,它是如何运行并让我登录的。请查看关于
Application.DoEvents()
循环的一些想法。
Private Sub WhateverButtonName(sender As Object, e As EventArgs) Handles WhateverButtonName.Click

    'Button1 Code
    WebBrowser1.Document.GetElementById("Email").SetAttribute("value", TextBox1.Text)
    WebBrowser1.Document.GetElementById("Passwd").SetAttribute("value", TextBox2.Text)
    WebBrowser1.Document.GetElementById("signIn").InvokeMember("click")
    WaitForPageLoad()

    'Button2 Code
     For Each acct As HtmlElement In WebBrowser1.Document.GetElementsByTagName("a")
     If acct.GetAttribute("href").Contains("https://accounts.google.com/b/0/PlusPageSignUp") Then
          acct.InvokeMember("click")
          WaitForPageLoad()
     End If
     Next



End Sub
#Region "Page Loading Functions"

Private Sub WaitForPageLoad()
    AddHandler WebBrowser1.DocumentCompleted, New WebBrowserDocumentCompletedEventHandler(AddressOf PageWaiter)
    While Not pageready
        Application.DoEvents()
    End While
    pageready = False
End Sub

Private Sub PageWaiter(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs)
    If WebBrowser1.ReadyState = WebBrowserReadyState.Complete Then
        pageready = True
        RemoveHandler WebBrowser1.DocumentCompleted, New WebBrowserDocumentCompletedEventHandler(AddressOf PageWaiter)
    End If
End Sub

#End Region
Public Class Form1

    Private Property pageready As Boolean = False

Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
    'Button1 Code
    WebBrowser1.Navigate("https://accounts.google.com/Login")
    WaitForPageLoad()
    WebBrowser1.Document.GetElementById("Email").SetAttribute("value", TextBox1.Text)
    WebBrowser1.Document.GetElementById("Passwd").SetAttribute("value", TextBox2.Text)
    WebBrowser1.Document.GetElementById("signIn").InvokeMember("click")
    WaitForPageLoad()

    'Button2 Code

End Sub

#Region "Page Loading Functions"

Private Sub WaitForPageLoad()

    AddHandler WebBrowser1.DocumentCompleted, New WebBrowserDocumentCompletedEventHandler(AddressOf PageWaiter)
    While Not pageready
        Application.DoEvents()
    End While
    pageready = False
End Sub

Private Sub PageWaiter(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs)
    If WebBrowser1.ReadyState = WebBrowserReadyState.Complete Then
        pageready = True
        RemoveHandler WebBrowser1.DocumentCompleted, New WebBrowserDocumentCompletedEventHandler(AddressOf PageWaiter)
    End If
End Sub

#End Region


End Class