[英]Submit button on web browser with html element
好的,所以這個網站http://dogwars.com/app/
我正在制作一個可以登錄和填充內容的應用程序。
但是網站上的登錄按鈕:
<div style="margin-left: 77px; margin-top: 20px; height: 40px;">
<a href="#" onclick="document.getElementById('loginForm').submit();" class="button"><span>Login</span></a>
</div>
對於VB.net上的自動提交按鈕,我使用以下命令:
If curElement.GetAttribute("onclick").Equals("document.getElementById('loginForm').submit();") Then
curElement.InvokeMember("click")
End If
但是它不會自動登錄,我為為什么不登錄感到困惑。
有人可以幫我嗎? 這是我的完整代碼:
Public Class Form1
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
WebBrowser1.Navigate("http://dogwars.com/app/")
End Sub
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
Dim theElementCollection As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("input")
For Each curElement As HtmlElement In theElementCollection
Dim controlName As String = curElement.GetAttribute("name").ToString
If controlName = "email" Then
curElement.SetAttribute("Value", TextBox1.Text)
ElseIf controlName = "password" Then
curElement.SetAttribute("Value", TextBox2.Text)
End If
Next
theElementCollection = WebBrowser1.Document.GetElementsByTagName("input")
For Each curElement As HtmlElement In theElementCollection
If curElement.GetAttribute("onclick").Equals("document.getElementById('loginForm').submit();") Then
curElement.InvokeMember("click")
End If
Next
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
您已經使HTML元素使事情復雜化了。 這是您應該做的:
WebBrowser1.Navigate("http://dogwars.com/app/")
Do Until WebBrowser1.ReadyState = WebBrowserReadyState.Complete
Application.DoEvents()
Loop
WebBrowser1.Document.GetElementById("email").SetAttribute("value",TextBox1.Text())
WebBrowser1.Document.GetElementById("password").SetAttribute("value",TextBox2.Text())
WebBrowser1.Document.GetElementById("submit").InvokeMember("click")
那可能應該起作用,盡管我還沒有測試過。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.