Web浏览器控件上的vb.net if语句

Web浏览器控件上的vb.net if语句,vb.net,Vb.net,早上好!至少在美国是早上 我有一个带有多个按钮的应用程序,可以使用webbrowser控件加载不同的站点。我有下面的代码自动登录到电子邮件网站。但是,如果我浏览到另一个站点,然后单击“电子邮件登录”按钮执行以下代码,则会出错。它会出错,因为它第一次已经让我登录到该站点,而现在由于缓存了凭据,它会直接让我登录并绕过登录页面 如何检查登录页面是否不存在,然后退出sub WebBrowser1.Navigate(My.Settings.emailURL) WaitForPage

早上好!至少在美国是早上

我有一个带有多个按钮的应用程序,可以使用webbrowser控件加载不同的站点。我有下面的代码自动登录到电子邮件网站。但是,如果我浏览到另一个站点,然后单击“电子邮件登录”按钮执行以下代码,则会出错。它会出错,因为它第一次已经让我登录到该站点,而现在由于缓存了凭据,它会直接让我登录并绕过登录页面

如何检查登录页面是否不存在,然后退出sub

WebBrowser1.Navigate(My.Settings.emailURL)
            WaitForPageLoad()
            WebBrowser1.Document.GetElementById("user").InnerText = My.Settings.emailUN
            WebBrowser1.Document.GetElementById("passwd").InnerText = My.Settings.emailPW
            'WebBrowser1.Document.GetElementById("remember_me").SetAttribute("checked", "false")
            WebBrowser1.Document.DomDocument.forms(0).submit()
我尝试了以下方法,但没有成功:

If WebBrowser1.Navigate(My.Settings.emailURL) <> My.Settings.emailURL

我认为它不起作用,因为它是一个导航命令。如果您登录并显示静态web url,则web地址是唯一的,因此我做了一个小的if语句

If WebBrowser1.Url.AbsoluteUri.StartsWith(My.Settings.webmailURL)
Exit Sub
Else
Sign in......
end if

Hans谢谢你的帮助,你让我开始思考。

你让它在一个网站上工作,它的DOM包含名为user和passwd的元素。当然,另一个网站拥有完全相同元素的几率非常低。您必须为每个站点自定义此代码。包括检查是否确实需要登录。它是同一个站点,基本上是这样的。我有一个表单,上面有3个按钮,每个按钮都指向不同的网站。其中一个网站是webmail。如果用户单击“说另一个”按钮并转到webbrowser控件上的cnn.com,然后再次单击webmail,它会失败,因为它尝试输入的是UN和PW,但由于他已经登录并且是同一个会话,它会在检查DOM时首先自动将他显示为login。如果它不在那里,或者说注销,那么你就不想这样做。Comcast网站很棘手,没有ID,它只是用来注销你的href链接。我如何做这样的事情:If webbrowser1.URL StartsWith If我可以检查webbrowser的URL我可以写If statementOr我可以解析页面并说页面上是否存在注销文本?