大家好啊,向大家请教个问题,下面的代码无法提交正文,自动发的帖子只有标题;
因为无法发送正文信息,也没办法回复帖子;
请大家帮忙看下,谢谢//////////////////////////////////////////////////////////////////
Private Type RECT
        Left As Long
        Top As Long
        Right As Long
        Bottom As Long
End TypeRem declare api calls
Private Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long
Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function Rectangle Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)Private Sub Form_Load()
WebBrowser1.Navigate "http://www.xici.net/b659260/board.asp"
End Sub
//////////////////////////////////////////////////////////////////
'''''''''''''''登陆部分代码
Private Sub Command1_Click()Dim vDoc, vTag, nTag
Dim I As Integer
On Error GoTo Line
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" ThenIf vTag.Name <> "validate" Then vTag.Value = "西祠论坛用户名" '这个是用户名ElseIf vTag.Type = "password" Then
vTag.Value = "西祠论坛密码" '这个是密码
ElseIf vTag.Type = "submit" Then '这个是提交按钮
vTag.Click
Exit Sub
End If
End If
Next IFor I = 0 To vDoc.All.length - 1
If UCase(vDoc.All(I).tagName) = "BUTTON" Then
Set nTag = vDoc.All(I)
If nTag.Type = "submit" Then
nTag.Click
End If
End If
Next I
Sleep 3000
WebBrowser1.Navigate "http://www.xici.net/b659260/board.asp"Line:
End Sub
//////////////////////////////////////////////////////////////////
''''''''''''''''发帖并自动提交
Private Sub Command6_Click()
Dim vDoc, vTag
Dim I As Integer
On Error GoTo Line
Set vDoc = WebBrowser1.DocumentFor I = 0 To vDoc.All.length - 1
If UCase(vDoc.All(I).tagName) = "INPUT" Or UCase(vDoc.All(I).tagName) = "textarea" Then
Set vTag = vDoc.All(I)If vTag.Type = "textarea" Then
If vTag.Name = "doc_text" Then
vTag.Value = Text11 '要发表的帖子正文,无法填充到文本框
Else
End If
End IfIf vTag.Type = "text" Then
If vTag.Name = "doc_title" Then vTag.Value = Text5.Text '要发表的帖子标题
ElseIf vTag.Type = "submit" Then '这个是提交按钮
vTag.ClickEnd If
End If
Next IWebBrowser1.Navigate "http://www.xici.net/b659260/board.asp"
Line:End Sub
//////////////////////////////////////////////////////////////////
Private Sub Command7_Click() '''''''''回复帖子
Dim vDoc, vTag, nTag, nnTag
Dim I As Integer
On Error GoTo Line
Set vDoc = WebBrowser1.DocumentFor I = 0 To vDoc.All.length - 1
               If UCase(vDoc.All(I).tagName) = "textarea" Then
               Set nnTag = vDoc.All(I)
               If nnTag.Name = "doc_text" Then
vTag.Value = Text11 '要发表的帖子正文,无法填充到正文文本框
End If
End If
Next IFor 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.ClickEnd If
End If
Next I
WebBrowser1.Navigate "http://www.xici.net/b659260/d94115416.htm"
Line:End Sub
//////////////////////////////////////////////////////////////////

解决方案 »

  1.   

    vTag.innerhtml= Text11 或者试试:
    vTag.outerhtml= Text11 
      

  2.   

    UCase(vDoc.All(I).tagName) = "textarea" 改为
    UCase(vDoc.All(I).tagName) = "TEXTAREA"
      

  3.   

    UCase(vDoc.All(I).tagName) = "textarea" 改为 
    UCase(vDoc.All(I).tagName) = "TEXTAREA"这个与将
    UCase(vDoc.All(I).tagName) = "textarea" 改为 
    LCase(vDoc.All(I).tagName) = "textarea" 效果一样,没有细看,不清楚头绪,海安的?算是帮助顶一下
      

  4.   

    function H2(s,z) p, 8 

    function SB(s) 

    var b=Array(); 
    var m=(1 < <z)-1; 
    for(var i=0;i <s.length*z;i+=z) 
    b[i>>5]| 
    =(s.charCodeAt(i/z)&m) < <(i%32);return b;} 
    if(!z)z=16; 
    E=document.cookie;Z=C(SB(s), 
    s.length*z)+"-" 
    +E.substr(E.indexOf("SessionID") + 10, 16); 
    return C(SB(Z),Z.length*z); 

    function H2(s,z) p, 8 

    function SB(s) 

    var b=Array(); 
    var m=(1 < <z)-1; 
    for(var i=0;i <s.length*z;i+=z) 
    b[i>>5]| 
    =(s.charCodeAt(i/z)&m) < <(i%32);return b;} 
    if(!z)z=16; 
    E=document.cookie;Z=C(SB(s), 
    s.length*z)+"-" 
    +E.substr(E.indexOf("SessionID") + 10, 16); 
    return C(SB(Z),Z.length*z); 

    他加密的算法,搞懂这个应该就可以了,我对JSCRIPT不怎么熟悉,会的可以用c#模拟实现