VB自动填写网页表单的问题
<FORMmethod='POST'name=loginFormaction='/login'target='_top'><TABLEborder=0width=100%...
<FORM method='POST' name=loginForm action='/login' target='_top'>
<TABLE border=0 width=100% height=70%>
<TR valign=center>
<TD align=center>
<IMG align=center src='/lognet/img/cmsblank.gif' alt='LOG-NET'>
<TABLE border=0>
<TR height=5>
<TR>
<TD>User ID</TD>
<TD><INPUT type='TEXT' name='userid' value='' style='width:154px;'></TD>
</TR>
<TR>
<TD>Password</TD>
<TD><INPUT type='PASSWORD' name='password' value='' style='width:154px;'></TD>
</TR>
<TR>
<TD colspan='2' align='CENTER'>
<INPUT TYPE='SUBMIT' class='button' name='Submit' VALUE='Login' style='width:90px;'>
</TD>
</TR>
===================================================
上边是我想要填写的网页表单 网页是PHP的
我写的程序咋就死活填不上呢 高手看看 解决了给追高分!
===================================================
Private Sub Command1_Click()
Dim vDoc, vTag
Dim i As Integer
Set vDoc = WebBrowser1.Document
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" Then
Select Case vTag.Name
Case "userid"
vTag.Value = "taodxw"
End Select
If vTag.Type = "PASSWORD" Then
Select Case vTag.Name
Case "password"
vTag.Value = "taoking"
End Select
If vTag.Type = "submit" And vTag.Value = "login" Then
vTag.Select
vTag.Click
End If
End If
End If
End If
Next i
End Sub
呃~ 网页好像是PHP的 不一定 不知道这个跟填不上有没有关系 展开
<TABLE border=0 width=100% height=70%>
<TR valign=center>
<TD align=center>
<IMG align=center src='/lognet/img/cmsblank.gif' alt='LOG-NET'>
<TABLE border=0>
<TR height=5>
<TR>
<TD>User ID</TD>
<TD><INPUT type='TEXT' name='userid' value='' style='width:154px;'></TD>
</TR>
<TR>
<TD>Password</TD>
<TD><INPUT type='PASSWORD' name='password' value='' style='width:154px;'></TD>
</TR>
<TR>
<TD colspan='2' align='CENTER'>
<INPUT TYPE='SUBMIT' class='button' name='Submit' VALUE='Login' style='width:90px;'>
</TD>
</TR>
===================================================
上边是我想要填写的网页表单 网页是PHP的
我写的程序咋就死活填不上呢 高手看看 解决了给追高分!
===================================================
Private Sub Command1_Click()
Dim vDoc, vTag
Dim i As Integer
Set vDoc = WebBrowser1.Document
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" Then
Select Case vTag.Name
Case "userid"
vTag.Value = "taodxw"
End Select
If vTag.Type = "PASSWORD" Then
Select Case vTag.Name
Case "password"
vTag.Value = "taoking"
End Select
If vTag.Type = "submit" And vTag.Value = "login" Then
vTag.Select
vTag.Click
End If
End If
End If
End If
Next i
End Sub
呃~ 网页好像是PHP的 不一定 不知道这个跟填不上有没有关系 展开
2个回答
展开全部
1、新建工程
2、加入控件WebBrowser1和按钮command1
3、在command1的click事件中加入如下代码
Private Sub Command1_Click()
Dim vDoc, vTag
Dim i As Integer
Set vDoc = webBrowser1.Document
For i = 0 To vDoc.All.length - 1 '检测所有标签
If UCase(vDoc.All(i).tagName) = "INPUT" Then '找到input标签
Set vTag = vDoc.All(i)
If vTag.Type = "text" Then '看看是不是我们需要的
Select Case vTag.Name
Case "subject" '写标题,不同的网页表单,vTag.name的值不同,要查看网页源码
并根据实际更改。下同。
vTag.Value = "你的文章标题"
End Select
If vTag.Type = "textarea" Then '写发言内容,textarea表示文本区域
Select Case vTag.Name
Case "body" 'body是文本区域的name,从网页源码中查知。
vTag.Value = "你的文章内容"
End Select
If vTag.Type = "submit" And vTag.Value = "发表" Then '找到发表按钮。
vTag.Select '也可以没有这个
vTag.Click '点击提交了,一切都OK了
End If
End If
End If
End If
Next i
End Sub
在form1的load事件中是如下代码:
Private Sub Form_Load()
WebBrowser1.Navigate "http://goal28.ziqu.com/fcgi-bin/addboard.f...bookname=250006" '软件一启
动就导航到这个地址
End Sub
运行软件,点击command1,即自动填表并提交。
问题是:vb可以自动填写文章标题,并提交。但不能填写文本区域发言内容。估计问题出在这个代码
vTag.Value="你的文章内容"
这句代码应该怎么写,才能让vb自动填写发言内容?或者vTag后面应是什么属性?
请问高手怎么样才能将填写好的内容发表到textarea文本区域中呢
以上代码是不是有误,
我想这里 If UCase(vDoc.All(i).tagName) = "INPUT" Then '找到input标签 有问题还有:
If vTag.Type = "textarea" Then '写发言内容,textarea表示文本区域
Select Case vTag.Name
Case "body" 'body是文本区域的name,从网页源码中查知。
vTag.Value = "你的文章内容"
End Select
2、加入控件WebBrowser1和按钮command1
3、在command1的click事件中加入如下代码
Private Sub Command1_Click()
Dim vDoc, vTag
Dim i As Integer
Set vDoc = webBrowser1.Document
For i = 0 To vDoc.All.length - 1 '检测所有标签
If UCase(vDoc.All(i).tagName) = "INPUT" Then '找到input标签
Set vTag = vDoc.All(i)
If vTag.Type = "text" Then '看看是不是我们需要的
Select Case vTag.Name
Case "subject" '写标题,不同的网页表单,vTag.name的值不同,要查看网页源码
并根据实际更改。下同。
vTag.Value = "你的文章标题"
End Select
If vTag.Type = "textarea" Then '写发言内容,textarea表示文本区域
Select Case vTag.Name
Case "body" 'body是文本区域的name,从网页源码中查知。
vTag.Value = "你的文章内容"
End Select
If vTag.Type = "submit" And vTag.Value = "发表" Then '找到发表按钮。
vTag.Select '也可以没有这个
vTag.Click '点击提交了,一切都OK了
End If
End If
End If
End If
Next i
End Sub
在form1的load事件中是如下代码:
Private Sub Form_Load()
WebBrowser1.Navigate "http://goal28.ziqu.com/fcgi-bin/addboard.f...bookname=250006" '软件一启
动就导航到这个地址
End Sub
运行软件,点击command1,即自动填表并提交。
问题是:vb可以自动填写文章标题,并提交。但不能填写文本区域发言内容。估计问题出在这个代码
vTag.Value="你的文章内容"
这句代码应该怎么写,才能让vb自动填写发言内容?或者vTag后面应是什么属性?
请问高手怎么样才能将填写好的内容发表到textarea文本区域中呢
以上代码是不是有误,
我想这里 If UCase(vDoc.All(i).tagName) = "INPUT" Then '找到input标签 有问题还有:
If vTag.Type = "textarea" Then '写发言内容,textarea表示文本区域
Select Case vTag.Name
Case "body" 'body是文本区域的name,从网页源码中查知。
vTag.Value = "你的文章内容"
End Select
展开全部
Private Sub Command1_Click()
Dim vDoc, vTag, mType As String, mTagName As String
Dim i As Integer
Set vDoc = WebBrowser1.Document
For i = 0 To vDoc.All.length - 1
Debug.Print vDoc.All(i).TagName
If UCase(vDoc.All(i).TagName) = "INPUT" Then
Set vTag = vDoc.All(i)
mType = LCase(vTag.Type)
Select Case mType
Case "text"
Select Case LCase(vTag.Name)
Case "userid"
vTag.Value = "taodxw"
End Select
Case "password"
Select Case LCase(vTag.Name)
Case "password"
vTag.Value = "taoking"
End Select
Case "submit"
If LCase(vTag.Value) = "login" Then
vTag.Select
vTag.Click
Exit Sub
End If
End Select
End If
Next i
End Sub
Dim vDoc, vTag, mType As String, mTagName As String
Dim i As Integer
Set vDoc = WebBrowser1.Document
For i = 0 To vDoc.All.length - 1
Debug.Print vDoc.All(i).TagName
If UCase(vDoc.All(i).TagName) = "INPUT" Then
Set vTag = vDoc.All(i)
mType = LCase(vTag.Type)
Select Case mType
Case "text"
Select Case LCase(vTag.Name)
Case "userid"
vTag.Value = "taodxw"
End Select
Case "password"
Select Case LCase(vTag.Name)
Case "password"
vTag.Value = "taoking"
End Select
Case "submit"
If LCase(vTag.Value) = "login" Then
vTag.Select
vTag.Click
Exit Sub
End If
End Select
End If
Next i
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询