如何在指定网页中填入数据然后提交?

时间:2022-11-06 10:59:43
我想打开一个指定的网站,里面有个登陆对话框(比如论坛、邮箱、聊天室等),当然我有自己的帐号跟密码,请问,如何用VB实现对该登陆对话框的帐号和密码的正确填写,并且提交?

10 个解决方案

#1


findwindow 找到网页的句柄,SENDKEYS {tab}到指定的输入框,输入内容后,再到下一个,然后再输入,再到提交按钮,发送一个回车

#2


也可以用WEBBROWSER 获取网页的HTML编码,找到输入框和按钮的标志,更改后直接提交,可以参看

http://www.kehui.net/index.php?op=article&file=read&aid=19528

#3


有个软件好象叫VISIUAL-SNIFFER,打开你的网页,然后打开VISIUAL-SNIFFER监测,输入用户名,密码,登陆成功后停止监测.在打开记录中找包含你的登陆信息的URL地址,下次用这个URL登陆就可以了.

#4


我的意思当然不是就我那一个帐号登陆了,否则手工还来得快些。我是想用这样的方法实现多个帐号快速的登入和登出。northwolves(狼行天下) 第2个答案还有些参考价值,不过具体情况不一样啊,我对vb网络编程刚起步,能不能给点关键步骤的源码,谢谢。用腾讯的网站做例子吧,http://my.qq.com/cgi-bin/portal/showlogin.cgi

#5





'*****************************************
'*****************************************

'添加webbrowser , List, 按钮控件
Option Explicit

Private Sub Form_Load()
WebBrowser1.Navigate App.Path & "\test.htm"
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)


    Dim vDoc, vTag
    Dim i As Integer
      
    Set vDoc = WebBrowser1.Document
    List1.Clear
    For i = 0 To vDoc.All.length - 1
        If UCase(vDoc.All(i).tagName) = "INPUT" Then
            Set vTag = vDoc.All(i)
            If vTag.Type = "text" Or vTag.Type = "password" Then
                List1.AddItem vTag.Name
                Select Case vTag.Name
                    Case "Name"
                        vTag.Value = "IMGod"
                    Case "NickName"
                        vTag.Value = "IMGod"
                    Case "Password"
                        vTag.Value = "IMGodpass"
                    Case "EMail"
                        vTag.Value = "IMGod@paradise.com"
                End Select
            ElseIf vTag.Type = "submit" Then
                vTag.Click
            End If
        End If
    Next i
End Sub

'test.htm文件
'<HTML>
'<HEAD>
'<TITLE>测试页</TITLE>
'</HEAD>
'<BODY>
'<form method="POST" action="result.asp">
  '<p>请填写下面表单注册(*项为必添项)</p>
'  <'p>*姓名<input type="text" name="Name" size="20"></p>
 ' <p>*昵称<input type="text" name="NickName" size="20"></p>
  '<p>电子邮件<input type="text" name="EMail" size="20"></p>
'  <p>*密码<input type="text" name="Password" size="20"></p>
 ' <p><input type="submit" value="提交" name="B1">
  '<input type="reset" value="全部重写" name="B2"></p>
'</form>
'</BODY>
'</HTML>

#6


you can not login unless you can programmatically recognize the image on the QQ login page.

#7


什么意思啊,jiangsheng(蒋晟.MSMVP2004Jan) ?为什么不能登陆?

#8


因为图片验证码很难识别

#9


那腾讯这个网站就没有办法得到图片验证码了么?现在最恼火的就是解决验证码问题了。

#10


谁能告诉我http://blog.csdn.net/lvlvlvlylyly/archive/2004/05/29/15583.aspx中的URL1(0) = "http://login.sohu.com/chkpwd.php": URL2(0) = "http://www34.mail.sohu.com/control/entry"这两个地址是怎么得到的?为什么这里要使用这个两个地址?另外,有没有inet和WebBrowser如何使用的文章,我不懂它们的属性怎么用啊。

#1


findwindow 找到网页的句柄,SENDKEYS {tab}到指定的输入框,输入内容后,再到下一个,然后再输入,再到提交按钮,发送一个回车

#2


也可以用WEBBROWSER 获取网页的HTML编码,找到输入框和按钮的标志,更改后直接提交,可以参看

http://www.kehui.net/index.php?op=article&file=read&aid=19528

#3


有个软件好象叫VISIUAL-SNIFFER,打开你的网页,然后打开VISIUAL-SNIFFER监测,输入用户名,密码,登陆成功后停止监测.在打开记录中找包含你的登陆信息的URL地址,下次用这个URL登陆就可以了.

#4


我的意思当然不是就我那一个帐号登陆了,否则手工还来得快些。我是想用这样的方法实现多个帐号快速的登入和登出。northwolves(狼行天下) 第2个答案还有些参考价值,不过具体情况不一样啊,我对vb网络编程刚起步,能不能给点关键步骤的源码,谢谢。用腾讯的网站做例子吧,http://my.qq.com/cgi-bin/portal/showlogin.cgi

#5





'*****************************************
'*****************************************

'添加webbrowser , List, 按钮控件
Option Explicit

Private Sub Form_Load()
WebBrowser1.Navigate App.Path & "\test.htm"
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)


    Dim vDoc, vTag
    Dim i As Integer
      
    Set vDoc = WebBrowser1.Document
    List1.Clear
    For i = 0 To vDoc.All.length - 1
        If UCase(vDoc.All(i).tagName) = "INPUT" Then
            Set vTag = vDoc.All(i)
            If vTag.Type = "text" Or vTag.Type = "password" Then
                List1.AddItem vTag.Name
                Select Case vTag.Name
                    Case "Name"
                        vTag.Value = "IMGod"
                    Case "NickName"
                        vTag.Value = "IMGod"
                    Case "Password"
                        vTag.Value = "IMGodpass"
                    Case "EMail"
                        vTag.Value = "IMGod@paradise.com"
                End Select
            ElseIf vTag.Type = "submit" Then
                vTag.Click
            End If
        End If
    Next i
End Sub

'test.htm文件
'<HTML>
'<HEAD>
'<TITLE>测试页</TITLE>
'</HEAD>
'<BODY>
'<form method="POST" action="result.asp">
  '<p>请填写下面表单注册(*项为必添项)</p>
'  <'p>*姓名<input type="text" name="Name" size="20"></p>
 ' <p>*昵称<input type="text" name="NickName" size="20"></p>
  '<p>电子邮件<input type="text" name="EMail" size="20"></p>
'  <p>*密码<input type="text" name="Password" size="20"></p>
 ' <p><input type="submit" value="提交" name="B1">
  '<input type="reset" value="全部重写" name="B2"></p>
'</form>
'</BODY>
'</HTML>

#6


you can not login unless you can programmatically recognize the image on the QQ login page.

#7


什么意思啊,jiangsheng(蒋晟.MSMVP2004Jan) ?为什么不能登陆?

#8


因为图片验证码很难识别

#9


那腾讯这个网站就没有办法得到图片验证码了么?现在最恼火的就是解决验证码问题了。

#10


谁能告诉我http://blog.csdn.net/lvlvlvlylyly/archive/2004/05/29/15583.aspx中的URL1(0) = "http://login.sohu.com/chkpwd.php": URL2(0) = "http://www34.mail.sohu.com/control/entry"这两个地址是怎么得到的?为什么这里要使用这个两个地址?另外,有没有inet和WebBrowser如何使用的文章,我不懂它们的属性怎么用啊。