分享
 
 
 

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

王朝vb·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

控制网页的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

' Get the IWebBrowser2 interface

Set pBrowser = pUnk

If Err.Number = 0 Then

Debug.Print "Frame: " & pBrowser.LocationURL

End If

Loop

Set pEnumerator = Nothing

End If

End Sub

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有