1.对于一个在js内触发的onclick事件,在vb中,用webbrowser1.document("id").click不行。
请问应该怎么样模拟此点击事件。
2.textarea中输入値,用vb如何提交到网页textarea中,text有value属性,而textarea应该如何操作。

解决方案 »

  1.   

    用webbrowser打开网页后,网页内的所有元素你都可以通过代码来操作, 
    方法是:1.根据标记名(tagname)的和元素名name来找到元素, 
    2.给元素赋值或是执行相关的事件. 例1: 给username文本框内填充内容: 
    Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) 
    Dim doc 
    Dim tg 
    Set doc = WebBrowser1.Document 
    For i = 0 To doc.All.length - 1 
    If (LCase(doc.All(i).tagname)) = "input" Then 
    if (LCase(doc.All(i).name)) = "username" then 
    Set tg = doc.All(i) 
    tg.value=text1.text 
    end if 
    End If 
    Next i 
    End Sub 
    例2: 找到提交按钮并点击 
    Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) 
    Dim doc 
    Dim tg 
    Set doc = WebBrowser1.Document 
    For i = 0 To doc.All.length - 1 
    If (LCase(doc.All(i).tagname)) = "input" Then 
    if (LCase(doc.All(i).type)) = "submit" then 
    Set tg = doc.All(i) 
    tg.click 
    end if 
    End If 
    Next i 
    End Sub
      

  2.   

    关键这个按钮没有定义type.不是submit.
      

  3.   

    关注中.我也在寻找这个问题的答案想自动点击QQ空间的登陆链接
    藏在js内的代码
    lgb.innerHTML=' [ <a href="javascript:void(0)" onclick="_tgvshowLoginBox()">登录</a> ] ';....................
    function _tgvshowLoginBox(para){
    if(checkLogin()>10000){
    toolbarRefresh();
    }
    else{
    _tgvsendStat("ShowLogin");
    if(!!para) showLoginBox(para);
    else showLoginBox();
    }
    return false;
    }