webbrowser使用mysql自动登录 [英] webbrowser auto login with mysql

查看:102
本文介绍了webbrowser使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆