VB网页自动填表,下拉列表问题!
http://gz.ganji.com/common/pub.php?category=event&type=6
这个连接是测试的。
我要做个自动填表的。
Private Sub Form_Load()
WebBrowser1.Navigate "http://gz.ganji.com/common/pub.php?category=event&type=6"
End Sub
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.Id = "id_title" Then
vTag.Value = Text1.Text
End If
If vTag.Name = "address" Then
vTag.Value = "http://jlds.taoba.com "
End If
If vTag.Id = "id_begindate" Then
vTag.Value = "2011-12-23"
End If
If vTag.Id = "id_enddate" Then
vTag.Value = "2012-10-11"
End If
If vTag.Name = "member_num" Then
vTag.Value = "188"
End If
WebBrowser1.Document.getelementbyid("id_description").Value = Text4.Text
WebBrowser1.Document.getelementbyid("id_phone").Value = Text3.Text
End If
Next i
End Sub
Private Sub command2_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 = "submit" Then
vTag.Click
End If
End If
Next i
End Sub
以上基本的 填空搞定了。
现在问题就在于, 下拉列表的选项,我不知道怎么选择,。
还有那个,线上活动,optiom 这个选项我也不会。
比如:默认页是选择:线下活动 ,我怎么能一键让他填成线上活动。
给答案前请先打开测试地址。如果是 百度搜来的答案,请测试完可用再回复,谢谢!
[解决办法]
看你这个和我前俩天纠结的问题一样,我就给你指点指点,感兴趣的话,加QQ 635104032 注明:vb相关
思路:给第一个option[请选择] 的 Selected设为false 把你要选的那个option的这个属性设为true,
实现代码:
WebBrowser1.Document.getElementById("jy").Options(0).Selected = False
WebBrowser1.Document.getElementById("jy").Options(3).Selected = True
二, 因为第二个下拉框options 个数为1 ,只有选了前面的,第二个的options才会变多,所以,这种不能用上面那种,这种是需要这样做的
让这个下拉列表获得焦点,然后出发键盘的下键
代码实现: 【我这儿是连着三个下拉】
Private Sub Command4_Click()
Dim i As Integer
Dim j As Integer
Set vDoc = WebBrowser2.Document
For i = 0 To vDoc.All.length - 1
If UCase(vDoc.All(i).tagName) = "SELECT" Then
Set vTag = vDoc.All(i)
j = j + 1
If j = 2 Then
vTag.focus
SendKeys ("{PGDN}")
SendKeys ("{TAB}")
SendKeys ("{PGDN}")
SendKeys ("{TAB}")
SendKeys ("{PGDN}")
'这儿给生日初始化 MsgBox ("3333333aaaaaaaaaaaaaaaaaaaaaaaaaaa333=====" & vTag.Options.length)
End If
End If
Next i
End Sub
如果有所启发,加QQ我们相互学习,我对这方面很感兴趣