webbrowser使用mysql自动登录 [英] webbrowser auto login with mysql
问题描述
私有子Form1_Load(作为对象发送,作为EventArgs发送)处理MyBase.Load
mysqlconn =新的MySqlConnection
mysqlconn.ConnectionString ="server = 127.0.0.1; Port = 3306; userid = blabla; password = dream; database = nick"
昏暗的阅读器为MySqlDataReader
试试
mysqlconn.Open()
暗淡查询为字符串
查询=从blabla中选择*,其中id ='" & TextBox1.Text& "'<
命令=新的MySqlCommand(查询,mysqlconn)
reader = command.ExecuteReader
昏暗的userfound为Boolean = False
字符串形式的暗淡名称=""
密码暗淡为字符串=""
在阅读器中.
userfound =真实
名称= reader(名称").ToString
密码=阅读器(密码").ToString
结束时
如果userfound = True,那么
TextBox2.Text =(& Name&"")
TextBox3.Text =("&&"))
如果结束
异常捕获
mysqlconn.Close()
结束尝试
如果TextBox1.Text ="然后
WebBrowser1.Navigate("about:blank")
其他
WebBrowser1.Navigate(New Uri("https://login.yahoo.com/config/login?.src=fpctx&.intl=ro&.lang=ro-RO&.done=https://ro.yahoo .com/"))
如果结束
代码停止,而且我不知道为什么继续这样做
将ElementCollection设置为HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("Input")
每个元素作为TheElementCollection中的HtmlElement
Dim controlName As String = curElement.GetAttribute("id").ToString
如果controlName =用户名",则返回"username".然后
curElement.SetAttribute("Value",TextBox2.Text)
如果结束
下一个
theElementCollection = WebBrowser1.Document.GetElementsByTagName("Input")
每个元素作为TheElementCollection中的HtmlElement
Dim controlName As String = curElement.GetAttribute("id").ToString
如果controlName ="password",则返回0.然后
curElement.SetAttribute("Value",TextBox2.Text)
如果结束
下一个
theElementCollection = WebBrowser1.Document.GetElementsByTagName("button")
每个元素作为TheElementCollection中的HtmlElement
Dim controlName As String = curElement.GetAttribute("type").ToString
如果controlName ="submit",则返回0.然后
curElement.InvokeMember("click")
如果结束
下一个
theElementCollection = WebBrowser1.Document.GetElementsByTagName("button")
每个元素作为TheElementCollection中的HtmlElement
如果curElement.GetAttribute("type").Equals("submit")然后
curElement.InvokeMember("click")
'JavaScript有一个click方法,我们需要在当前的Submit button元素上进行调用.
如果结束
下一个
结束
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
mysqlconn = New MySqlConnection
mysqlconn.ConnectionString = "server=127.0.0.1;Port=3306;userid=blabla;password=dream;database=nick"
Dim reader As MySqlDataReader
Try
mysqlconn.Open()
Dim query As String
query = "select * from blabla where id='" & TextBox1.Text & "'"
command = New MySqlCommand(query, mysqlconn)
reader = command.ExecuteReader
Dim userfound As Boolean = False
Dim Name As String = ""
Dim Password As String = ""
While reader.Read
userfound = True
Name = reader("Name").ToString
Password = reader("Password").ToString
End While
If userfound = True Then
TextBox2.Text = ("" & Name & "")
TextBox3.Text = ("" & Password & "")
End If
Catch ex As Exception
mysqlconn.Close()
End Try
If TextBox1.Text = "" Then
WebBrowser1.Navigate("about:blank")
Else
WebBrowser1.Navigate(New Uri("https://login.yahoo.com/config/login?.src=fpctx&.intl=ro&.lang=ro-RO&.done=https://ro.yahoo.com/"))
End If
THE CODE STOPS HERE AND DOSENT GO FURTHER I DON~T KNOW WHY
Dim theElementCollection As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("Input")
For Each curElement As HtmlElement In theElementCollection
Dim controlName As String = curElement.GetAttribute("id").ToString
If controlName = "username" Then
curElement.SetAttribute("Value", TextBox2.Text)
End If
Next
theElementCollection = WebBrowser1.Document.GetElementsByTagName("Input")
For Each curElement As HtmlElement In theElementCollection
Dim controlName As String = curElement.GetAttribute("id").ToString
If controlName = "password" Then
curElement.SetAttribute("Value", TextBox2.Text)
End If
Next
theElementCollection = WebBrowser1.Document.GetElementsByTagName("button")
For Each curElement As HtmlElement In theElementCollection
Dim controlName As String = curElement.GetAttribute("type").ToString
If controlName = "submit" Then
curElement.InvokeMember("click")
End If
Next
theElementCollection = WebBrowser1.Document.GetElementsByTagName("button")
For Each curElement As HtmlElement In theElementCollection
If curElement.GetAttribute("type").Equals("submit") Then
curElement.InvokeMember("click")
'Javascript has a click method for we need to invoke on the current submit button element.
End If
Next
End Sub
有人可以用这个代码帮助我吗?mysql代码工作得很好,我输入id(textbox1),然后他得到了用户名(textbox2),并且密码(文本框3)但是我无法从mysql检索数据后自动登录到网页....如果我创建了自动登录代码
我从mysql检索数据后单击button1,然后按它,但是我不希望我不想在没有button1的情况下自动登录.
Can someone help me with this code?mysql code works great,i type the id(textbox1) then he gets username(textbox2)and password(textbox3) but i can`t auto login to webpage after retriving data from mysql....the auto login code works if i create
a button1 and press it after i retrive data from mysql,but i don`t want that i want to auto login without the button1.
推荐答案
我认为登录页面在之后无法立即使用 WebBrowser1.Navigate .尝试将 DocumentComplete 处理程序添加到 WebBrowser1 ,然后将处理登录页面的相应代码移至此处(当前位于 Navigate 行).使用调试器检查行为.
I think that the login page is not available immediately after WebBrowser1.Navigate. Try adding a DocumentComplete handler to WebBrowser1 and move here the corresponding code that processes the login page (which currently is after Navigate line). Check the behaviour with debugger.
这篇关于webbrowser使用mysql自动登录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!