在执行另一个if-then语句VB之前加载网页

时间:2014-06-12 01:13:06

标签: html vb.net if-statement webpage

我尝试在Visual Basic中创建一个程序,将您登录到YouTube并在您登录后执行其他一些操作。有时我的程序会将您带到一个看起来像这样的页面,但是有时它不会:http://puu.sh/9pCua/6320beccef.png所以我检查"的ID是否用其他帐户登录"存在。这是代码:

    If WebBrowser1.Document.GetElementById("account-chooser-link") IsNot Nothing Then
        WebBrowser1.Document.GetElementById("account-chooser-link").InvokeMember("click")
    End If

然后它会转到此页面:http://puu.sh/9pCZB/4d1768cf06.png并且它会检查"添加帐户"的ID存在。这是代码:

    If WebBrowser1.Document.GetElementById("account-chooser-add-account") IsNot Nothing Then
        WebBrowser1.Document.GetElementById("account-chooser-add-account").InvokeMember("click")
    End If

点击这两个链接后,它将带您到目的地页面,我可以在其中输入要登录的信息。这是该目前为止的完整代码:

    Public Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    If WebBrowser1.Document.GetElementById("account-chooser-link") IsNot Nothing Then
        WebBrowser1.Document.GetElementById("account-chooser-link").InvokeMember("click")
    End If

    If WebBrowser1.Document.GetElementById("account-chooser-add-account") IsNot Nothing Then
        WebBrowser1.Document.GetElementById("account-chooser-add-account").InvokeMember("click")
    End If

    WebBrowser1.Document.GetElementById("Email").SetAttribute("value", TextBox1.Text)

End Sub

问题在于点击一个链接后无法点击第二个链接,因为它无法识别"添加帐户"因为需要加载第二个网页。我总是可以只按两次按钮,但我想在第二个网页加载之前将其设置为第二个"如果那么"声明。这可能吗?

1 个答案:

答案 0 :(得分:0)

您需要处理DocumentCompleted的{​​{1}}事件,该事件表示页面已加载。如果您正在加载多个文档,那么您需要在事件处理程序中使用一些逻辑来确定加载了哪个文档,从而确定如何处理它。您可以检查当前文档的URL或使用其他一些机制。