以编程方式填写表单后重定向 url
Redirected url after filling the form programatically
我有一个关于重定向的问题 url。我正在自动填写一个 for 。填写表格后,我提交表格并单击按钮。之后它重定向到一个新页面。我需要重定向 url.
例如
webBrowser1.Navigate("myurl.com")
For I As Integer = 0 To 500
If webBrowser1.ReadyState = WebBrowserReadyState.Complete Then Exit For
Threading.Thread.Sleep(1)
Application.DoEvents()
Next
Dim elementLogin = webBrowser1.Document.GetElementById("login_identifier")
If Not IsNothing(elementLogin) Then
webBrowser1.Document.GetElementById("login_identifier").SetAttribute("Value", "myemail")
End If
Dim elementPassword = webBrowser1.Document.GetElementById("login_password")
If Not IsNothing(elementLogin) Then
webBrowser1.Document.GetElementById("login_password").SetAttribute("Value", "mypassword")
End If
webBrowser1.Document.GetElementById("login_btn").Enabled = True
webBrowser1.Document.GetElementById("login_btn").InvokeMember("click")
我需要点击按钮后的重定向 url。因为它在单击登录按钮后重定向到新页面。如果可能的话,请帮我解决这个问题
谢谢
您可以使用 WebBrowser.URL
获取它导航到的网页。但是,如果您尝试在导航开始之前获取新的 URL(意味着您将获取 current URL),这可能会导致问题。
相反,尝试遍历匹配按钮 ID 的 WebBrowser.Document
的所有元素,最后得到按钮的 href
:
Dim NextURL As String() = ""
For Each ele As HtmlElement In webBrowser1.Document.All
If ele.GetAttribute("id") = "login_btn" then
NextURL = ele.GetAttribute("href")
Exit For
End If
Next
这将触发 "no" 异常并且将同时对多个元素起作用。或者,也许更适合您的单独按钮,使用:
Dim NextURL As String = webBrowser1.Document.GetElementById("login_btn").GetAttribute("href")
编辑:由于按钮的 href
标签似乎是空的,最好在重定向后订阅 WebBrowser.DocumentCompleted
事件处理程序以通过 WebBrowser.URL
获取新网址。祝你好运!
我有一个关于重定向的问题 url。我正在自动填写一个 for 。填写表格后,我提交表格并单击按钮。之后它重定向到一个新页面。我需要重定向 url.
例如
webBrowser1.Navigate("myurl.com")
For I As Integer = 0 To 500
If webBrowser1.ReadyState = WebBrowserReadyState.Complete Then Exit For
Threading.Thread.Sleep(1)
Application.DoEvents()
Next
Dim elementLogin = webBrowser1.Document.GetElementById("login_identifier")
If Not IsNothing(elementLogin) Then
webBrowser1.Document.GetElementById("login_identifier").SetAttribute("Value", "myemail")
End If
Dim elementPassword = webBrowser1.Document.GetElementById("login_password")
If Not IsNothing(elementLogin) Then
webBrowser1.Document.GetElementById("login_password").SetAttribute("Value", "mypassword")
End If
webBrowser1.Document.GetElementById("login_btn").Enabled = True
webBrowser1.Document.GetElementById("login_btn").InvokeMember("click")
我需要点击按钮后的重定向 url。因为它在单击登录按钮后重定向到新页面。如果可能的话,请帮我解决这个问题 谢谢
您可以使用 WebBrowser.URL
获取它导航到的网页。但是,如果您尝试在导航开始之前获取新的 URL(意味着您将获取 current URL),这可能会导致问题。
相反,尝试遍历匹配按钮 ID 的 WebBrowser.Document
的所有元素,最后得到按钮的 href
:
Dim NextURL As String() = ""
For Each ele As HtmlElement In webBrowser1.Document.All
If ele.GetAttribute("id") = "login_btn" then
NextURL = ele.GetAttribute("href")
Exit For
End If
Next
这将触发 "no" 异常并且将同时对多个元素起作用。或者,也许更适合您的单独按钮,使用:
Dim NextURL As String = webBrowser1.Document.GetElementById("login_btn").GetAttribute("href")
编辑:由于按钮的 href
标签似乎是空的,最好在重定向后订阅 WebBrowser.DocumentCompleted
事件处理程序以通过 WebBrowser.URL
获取新网址。祝你好运!