请高手指点vb实现网页自动登录,如果实现按钮点击

时间:2021-12-27 06:01:26
请高手指点vb实现网页自动登录,如果实现按钮点击
代码如下:
Private Sub Form_Load()
Web.GoHome
Web.Navigate ("http://www.163.com/")
End Sub
Private Sub web_DocumentComplete(ByVal pDisp As Object, URL As Variant)
 
Do
    If Not Web.Busy Then Exit Do
    DoEvents
Loop
Dim vDoc, vTag
Dim i As Integer
Dim h As Integer
Set vDoc = Web.Document
For i = 0 To vDoc.All.length - 1 
   Set vTag = vDoc.All(i)
   Select Case vTag.tagname
          Case "INPUT" 
               Select Case vTag.Name
                      
                      Case "username"
                           vTag.Value = "XXXXXXXXXXXXX"
                                Case "password"
                           vTag.Value = "XXXXXXX"
 
   
                End Select
                  
   End Select
Next

      For h = 0 To Web.Document.All.length - 1
           If Web.Document.All(h).Value = "登录" Then _
               Web.Document.All(h).Click
                  end if
      Next
End Sub

 在“If Web.Document.All(h).Value = "登录" Then”这一句总是出现“实时错误438,对象不支持该属性或方法”请高手指点,如何才能实现按钮的点击

9 个解决方案

#1


If Webbrowser.Document.forms(i).value(name好象也可以)="登陆" then
Webbrowser.Document.forms(i).click
这个是标准的模拟点击代码,没错啊。。。

#2


不是每个元素都支持value属性的,比如img之类的,访问其value属性就会有这个问题
先判断tagname比较好

#3


163的tagname有好多是相同的,必须比较type,value的属性啊,怎么办呢,一楼的方法不行啊
,急急急

#4


Select Case vTag.tagname
          Case "INPUT" 
这个不就是了么
先判断tagname,然后type

#5


我试过了,不行啊,根本就不支持type,value属性

#6


For h = 0 To Web.Document.All.length - 1
if Web.Document.All(h).tagname="INPUT" then
         'jiangsheng(蒋晟.Net[MVP]) 的方法
           If Web.Document.All(h).Value = "登录" Then _
               Web.Document.All(h).Click
                  end if
end if
      Next

#7


该回复被版主删除

#8


我通常所用的方法是:
  1:打开它的源代码,一般用IE中的查看源文件都可以
  2:找到"登录"这个按钮(不一定是按钮哦)所在的位置,看它的tagname是什么,有时是"A"或"INPUT",当然也有"IMG"
  3:在程序相应位置写入代码:webbrowser1.document.all.tag("这里是它的tagname").item(i).click 'i是个具体的数字

#9


Set vDoc = Web.Document
vDoc.body.All("按钮name").Click

#10


象PWD,USERNAME也可以用
Set vDoc = Web.Document
vDoc.body.All("username").value="*****"
vDoc.body.All("password").value="*****"

#1


If Webbrowser.Document.forms(i).value(name好象也可以)="登陆" then
Webbrowser.Document.forms(i).click
这个是标准的模拟点击代码,没错啊。。。

#2


不是每个元素都支持value属性的,比如img之类的,访问其value属性就会有这个问题
先判断tagname比较好

#3


163的tagname有好多是相同的,必须比较type,value的属性啊,怎么办呢,一楼的方法不行啊
,急急急

#4


Select Case vTag.tagname
          Case "INPUT" 
这个不就是了么
先判断tagname,然后type

#5


我试过了,不行啊,根本就不支持type,value属性

#6


For h = 0 To Web.Document.All.length - 1
if Web.Document.All(h).tagname="INPUT" then
         'jiangsheng(蒋晟.Net[MVP]) 的方法
           If Web.Document.All(h).Value = "登录" Then _
               Web.Document.All(h).Click
                  end if
end if
      Next

#7


该回复被版主删除

#8


我通常所用的方法是:
  1:打开它的源代码,一般用IE中的查看源文件都可以
  2:找到"登录"这个按钮(不一定是按钮哦)所在的位置,看它的tagname是什么,有时是"A"或"INPUT",当然也有"IMG"
  3:在程序相应位置写入代码:webbrowser1.document.all.tag("这里是它的tagname").item(i).click 'i是个具体的数字

#9


Set vDoc = Web.Document
vDoc.body.All("按钮name").Click

#10


象PWD,USERNAME也可以用
Set vDoc = Web.Document
vDoc.body.All("username").value="*****"
vDoc.body.All("password").value="*****"