转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
控制网页的FORMS行为(收藏)         ★★★★

控制网页的FORMS行为(收藏)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2123 更新时间:2009/4/23 18:59:54

控制网页的FORMS行为

Private Sub Command2_Click()
    With WebBrowser1.Document.Forms(0)
        .c2.Checked = 1
        .r1(1).Checked = 1
    End With
End Sub


Private Sub Command2_Click()
    With WebBrowser1.Document.Forms(0)
        .d1.Options(1).Selected = 1
    End With
End Sub

web.Document.getElementsByName("D1").Item(0).selectedIndex = 1

==============================================
<input type="radio" value="n" checked name="notecome">普通
<input type="radio" value="c" name="notecome">原创
<input type="radio" value="z" name="notecome">转帖
<input type="button" value="发送提交" name="button"

比如一个网页里有如上代码
我想选择原创
webbrowser中怎么写


Private Sub Command1_Click()
    WebBrowser1.Navigate "c:\ggg.html"
End Sub

Private Sub Command2_Click()
    Dim x
   
    For Each x In WebBrowser1.Document.All("notecome")
        If x.Value = "c" Then
            x.Checked = True
        End If
    Next
End Sub

============================================================================================
假设你的HTML代码如下:

<html>
<script>
  function abcd(){
    alert("haha");
    return false;
  }
</script>

<body>
  <a id = ''''xxx'''' href=# onclick="abcd()">ggggg</a>
</body>
</html>

VB代码如下:
Private Sub Command1_Click()
    WebBrowser1.Navigate "http://www.applevb.com/script_test.html"
End Sub

Private Sub Command2_Click()
    Dim a, b
    Dim d As IHTMLDocument2
   
    For Each a In WebBrowser1.Document.All
        Debug.Print a.tagName
        If (a.tagName = "SCRIPT") Then

        End If
        If (a.tagName = "A") Then
            If a.Id = "xxx" Then
                a.FireEvent ("onclick")
            End If
        End If
    Next

点击Command1浏览这个网页,点击Command2运行其中的脚本abcd。


==============================================

怎么编程把用户名,密码提交到网页上的登录页?
首先在程序中加入Webbrowser控件并加入引用 Microsoft HTML Object Library。
假设你的HTML页面表单代码如下:
<form method="POST" action="http://chen/dll/chat/chatmain.exe/RegUser">
  <p>请填写下面表单注册(*项为必添项)</p>
  <p>*姓名<input type="text" name="Name" size="20"></p>
  <p>*昵称<input type="text" name="NickName" size="20"></p>
  <p>电子邮件<input type="text" name="EMail" size="20"></p>
  <p>*密码<input type="text" name="Password" size="20"></p>
  <p><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
</form>
注意其中元素的type、Name、value属性。然后VB中的代码如下:
Private Sub Command1_Click()
    WebBrowser1.Navigate "http://chen/chat/newuser.htm"
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    Dim vDoc, vTag
    Dim i As Integer
     
    Set vDoc = WebBrowser1.Document
    List1.Clear
    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" Or vTag.Type = "password" Then
                List1.AddItem vTag.Name
                Select Case vTag.Name
                    Case "Name"
                        vTag.Value = "IMGod"
                    Case "NickName"
                        vTag.Value = "IMGod"
                    Case "Password"
                        vTag.Value = "IMGodpass"
                    Case "EMail"
                        vTag.Value = "IMGod@paradise.com"
                End Select
            ElseIf vTag.Type = "submit" Then
                vTag.Click
            End If
        End If
    Next i
End Sub
点击Command1就可以自动填表并提交了。


=====================================================================================
调用forms下的Submit控件的Click事件,我会做,但我不想这么做.

有没有办法直接调用类似于:web1.document.forms.submit,这句语句我怎么写都不成功
是这个
Webbrowser1.document.formName.submit()

不能用,formname为form1所以我调用Webbrowser1.document.form1.submit
出错类型:对象不支持该属性或方法,
然后调用Webbrowser1.document.forms(0).submit()
出错类型同上
Private Sub Command1_Click()
    WebBrowser1.Navigate "http://localhost/webapplication2/MyLogonPage.aspx"
End Sub

Private Sub Command2_Click()
    WebBrowser1.Document.All("Form1").submit
End Sub
<form name="form1" method="post" action="aa.asp">
......
<input name="reset" type="reset" vlaue="reset" class="button">
</form>
我本想把reset的type改成submit 再提交,可出错,type是只读属性,不能修改,我只要有办法把这页面递交出去就行,当然,用POST也不行,参数太多,组合方式太多


你用下面的代码试一下你的页面:


Private Sub Command1_Click()
    WebBrowser1.Navigate "http://oakhome.xicp.net/webapplication2/MyLogonPage.aspx"
End Sub

Private Sub Command2_Click()
    Dim x
   
    On Error Resume Next
    For Each x In WebBrowser1.Document.All
        List1.AddItem x.Name
    Next
End Sub

看看在List1里面列出来的页面元素的名字有没有Form1
找到原因了,你的页面是这样的:
<input language="javascript" onclick="if (typeof(Page_ClientValidate) == ''''function'''') Page_ClientValidate(); " name="Submit1" id="Submit1" type="submit" value="Submit" />
你把name="Submit1" 改成name="Submit"肯定就不会成功了,很不幸的是我要提交的页面中就有这样一句,现在可有办法解决吗???

=======================================================================
使用WebBrowser_V1接受消息

Private WithEvents WebMessage As WebBrowser_V1

Private Sub Form_Load()
  Set WebMessage = WebBrowser1.Object
End Sub

Private Sub WebMessage_NewWindow(ByVal URL As String, ByVal Flags As Long, ByVal TargetFrameName As String, PostData As Variant, ByVal Headers As String, Processed As Boolean)

''''这里有Flags变量可以取得窗体应有的状态

End Sub

具体值需要你自己去试试看。对象浏览器里面没有

=======================================================================================================

通过下面的方法遍历页面中的IFrame:

Sub EnumFrames(ByVal wb As WebBrowser)
Dim pContainer As olelib.IOleContainer
Dim pEnumerator As olelib.IEnumUnknown
Dim pUnk As olelib.IUnknown
Dim pBrowser As SHDocVw.IWebBrowser2

   Set pContainer = wb.Object.Document
  
   '''' Get an enumerator for the frames
   If pContainer.EnumObjects(OLECONTF_EMBEDDINGS, pEnumerator) = 0 Then
  
      Set pContainer = Nothing
     
      '''' Enumerate and refresh all the frames
      Do While pEnumerator.Next(1, pUnk) = 0
        
         On Error Resume Next
        
         '''' Clear errors
         Err.Clear
        
   

[1] [2]  下一页


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台