看看这个例子,使用WebBrowser1的Document对象就可以了怎么编程把用户名,密码提交到网页上的登录页? 首先在程序中加入Webbrowser控件 假设你的HTML页面表单代码如下: <form method="POST" action="http://chen/dll/chat/chatmain.exe/RegUser"> <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> 注意其中元素的type、Name、value属性。然后VB中的代码如下: Private Sub Command1_Click() WebBrowser1.Navigate "http://chen/chat/newuser.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 = "[email protected]" End Select ElseIf vTag.Type = "submit" Then vTag.Click End If End If Next i End Sub 点击Command1就可以自动填表并提交了。
首先在程序中加入Webbrowser控件
假设你的HTML页面表单代码如下:
<form method="POST" action="http://chen/dll/chat/chatmain.exe/RegUser">
<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>
注意其中元素的type、Name、value属性。然后VB中的代码如下:
Private Sub Command1_Click()
WebBrowser1.Navigate "http://chen/chat/newuser.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 = "[email protected]"
End Select
ElseIf vTag.Type = "submit" Then
vTag.Click
End If
End If
Next i
End Sub
点击Command1就可以自动填表并提交了。
很详细!好!!
<!--看了先生的文章,顿时有了从四脚爬爬一下子到两脚走路的感觉。同时,也有一些疑问:-->
<引用原文>
<单个记录提交到远程asp文件>
Getsingleinfo.asp(数据增加并返回结果)
<%@ Language=VBScript %>
<%
'这里需要修改,返回客户的xml响应文档
Response.ContentType = "text/xml"
set conn=Server.CreateObject("ADODB.connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("web.mdb")
dim xmldom
' set xmldom = Server.CreateObject("Microsoft.XMLDOM")
set xmldom = Server.CreateObject("MSXML.DOMDocument")
xmldom.load Request
dim sid,name,price,catagory,pdate
sid = xmldom.selectSingleNode("//项目编号").text
name = xmldom.selectSingleNode("//项目名称").text
price = xmldom.selectSingleNode("//价格").text
catagory = xmldom.selectSingleNode("//种类").text
pdate =xmldom.selectSingleNode("//发生日期").text
dim strsql,retval
on error resume next
strsql="insert into test(sid,name,price,catagory,pdate) values('"& sid &"','"& name &"','"& price &"','"& catagory &"','"& pdate &"')"
'response.write strsql
conn.execute strsql
if err.number=0 then
retval="数据成功提交"
else
retval="数据提交失败,请检查你的数据"
end if
set xmldom = Nothing
set conn=nothing
'下面的代码是将结果以xml形式返回
'需要加上<?xml version="1.0" encoding="gb2312"?>这句,否则无法返回中文
%>
<?xml version="1.0" encoding="gb2312"?>
<Response>
<retval><%=retval%></retval>
</Response>
</单个记录提交到远程asp文件>
<部分客户端vb代码>
'构造出要上传的XML串,这里节点使用中文
StrXml = "<Request>" & "<项目编号>" & Txtbh.Text & "</项目编号>" & _
"<项目名称>" & Txtname.Text & "</项目名称>" & _
"<价格>" & Txtprice.Text & "</价格>" & _
"<种类>" & TxtCategory.Text & "</种类>" & _
"<发生日期>" & Txtpdate.Text & "</发生日期>" & _
"</Request>"
</部分客户端vb代码>
</引用原文><疑问>
如果上传的XML串中的节点是上例节点中的随意一个节点,Getsingleinfo.asp应如何灵活判断上传的节点是那一个呢(项目编号?项目名称?价格?种类?种类?发生日期?)
</疑问>
</问online(龙卷风V3.0--笑傲江湖):>