关于webbrowser控件自动登陆的问题
请问怎么用webbrowser自动登陆www.jp168.com,(没有框架的网站试过了可以,这个有框架,登陆页面还会弹出窗口,搞得我晕晕的)
登陆成功后从返回页面里取出input控件uid的值 问题点数:80、回复次数:4
1 楼cutemouse(为梦而生)回复于 2004-05-09 23:54:21 得分 80
控制网页的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
关于webbrowser控件自动登陆的问题的更多相关文章
- C# webBrowser控件使用
C# webBrowser控件使用心得 最近用到WebBrowser控件,遇到很多问题,也学习了不少新的东西.下面是我在C#下写的关于WebBrowser控件使用的代码. 1.WebBrowser常用 ...
- C#中的WebBrowser控件的使用
0.常用方法 Navigate(string urlString):浏览urlString表示的网址 Navigate(System.Uri url):浏览url表示的网址 Navigate(st ...
- C# WebBrowser控件使用教程与技巧收集
常用的方法 Navigate(string urlString):浏览urlString表示的网址 Navigate(System.Uri url):浏览url表示的网址 Navigate(strin ...
- C# 指定Webbrowser控件所用IE内核版本
如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容.解决方法是在注册表中为你的进程指定引用IE的版本号. 比如我的程序叫做a.exe,以64位机 ...
- WebBrowser控件打开https站点
背景: 与上一篇博文一样,此文亦是由于开发DropboxAPI中遇到问题衍生出来的.由于需要重定向https类型网站,但自己的https证书是自签名的,总是提示'网站的安全证书存在问题'. 鉴此,查了 ...
- C#WebBrowser控件使用教程与技巧收集--苏飞收集
C#WebBrowser控件使用教程与技巧收集--苏飞收集 先来看看常用的方法 Navigate(string urlString):浏览urlString表示的网址 Navigate(System. ...
- 009. C#中的WebBrowser控件的属性、方法及操作演示代码(转)
本文转自 http://www.open-open.com/code/view/1430559996802 0.常用方法 Navigate(string urlString):浏览urlString表 ...
- C#WebBrowser控件使用教程与技巧
获取非input控件的值 webBrowser1.Document.All["控件ID"].InnerText;或webBrowser1.Document.GetElementBy ...
- C#中的WebBrowser控件加载ActiveX插件
C#中WebBrowser控件,将项目输入更改为x86输出,在页面打开时即可自动加载ActiveX控件
随机推荐
- Win10使用中的一些问题
闲来无事,怒装Win10.使用上总体来说还是不错的,比Win8好一个档次吧. 不过呢在使用中遇到两个很郁闷的问题.权且几下 1.Win10激活 使用工具:激活工具 2.激活后浏览器被挟持 这让我现在非 ...
- 【原创】构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下前篇)—简单的优化措施
原文:[原创]构建高性能ASP.NET站点 第六章-性能瓶颈诊断与初步调优(下前篇)-简单的优化措施 构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下前篇)—简单的优化措施 前言:本篇 ...
- Java 输出指定编码的字符串
Java Sting类有个根据byte,字符编码来输出的构造函数.以下为java文档中的解释.public String(byte[] bytes, String charsetName) throw ...
- JavaScript事件收集
1. onabort . 2. onactivate 当对象设置为活动元素时触发. 3. onafterprint 对象所关联的文档打印或打印预览后马上在对象上触发. 4. onafterupda ...
- Sqlserver 高并发和大数据存储方案
Sqlserver 高并发和大数据存储方案 随着用户的日益递增,日活和峰值的暴涨,数据库处理性能面临着巨大的挑战.下面分享下对实际10万+峰值的平台的数据库优化方案.与大家一起讨论,互相学习提高! ...
- C++ Primer笔记4_静态成员类_IO库
1.静态成员类 static成员变量与函数 static成员变量:必须在类外初始化.(const或引用类型变量必须在构造函数初始化列表里初始化) static成员函数: 不依赖于类.相当于类里的全局函 ...
- 定制Attribute
目录 Attribute是什么 自定义Attribute 一.Attribute是什么 将一些附加信息与制定目标相关联的方式.编译器在元数据中生成这些额外的信息.也叫做特性. 比如之前文章中提到的:枚 ...
- Cocos2d-x3.0 DrawNode吸取
DrawNode正如它的绘图形状的节点,相互作用可以使将来更加灵活. DrawNode* DrawLayer::shape() { auto shape = DrawNode::create(); s ...
- poj3903 Stock Exchange(最长上升子序列)
转载请注明出处:http://blog.csdn.net/u012860063 题目链接:id=3903">http://poj.org/problem?id=3903 Descrip ...
- 【cocos2d-js公文】十八、Cocos2d-JS v3.0物业风格API
1. 新的API风格 我们直接来看看你能够怎样使用Cocos2d-JS v3.0: 曾经的API 新的API node.setPosition(x, y); node.x = x; node.y = ...