| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1886 人关注过本帖
标题:VB6.0在网页弹窗登录界面自动填表失败,如何解决
只看楼主 加入收藏
zt5101314
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2023-3-22
收藏
 问题点数:0 回复次数:10 
VB6.0在网页弹窗登录界面自动填表失败,如何解决
网页主页https://XXXX.
内嵌框架网页https://XXXX.(此网页单独登录提示失败,需点击主页右上角“登录”来登录账号)
问题描述:VB6.0在网页弹窗登录界面自动填表失败,代码如下。
Private Sub Command1_Click()
Randomize
On Error Resume Next
Dim a As Variant
Dim Vdoc As MSHTML.HTMLDocument
Set Vdoc = WebBrowser1.document
   For Each a In Vdoc.getElementsByTagName("input")
        Select Case a.Name
            Case "username"
                a.Value = "13888888888"
            Case "password"
                a.Value =  "123456"
            Case "vertifyCode"
                a.Value = "1234"
        End Select
   Next
WebBrowser1.document.getElementById("LoginBtn").Click
这个问题源于弹窗中的登录表单是在iframe中,而WebBrowser控件默认只能访问主框架的document,求助大佬解决:实现获取到iframe的document,完成自动填表?

[此贴子已经被作者于2023-3-22 22:11编辑过]

搜索更多相关主题的帖子: 登录 自动 填表 网页 失败 
2023-03-22 20:24
阳光上的桥
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:38
帖 子:129
专家分:772
注 册:2023-1-12
收藏
得分:0 
根据情况,选择下面的方式访问框架内文档:

WebBrowser1.document.getElementsByTagName("iframe")(0).contentWindow.document
WebBrowser1.document.getElementByTagId("iframeid").contentWindow.document
2023-03-23 09:06
wds1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:49
帖 子:393
专家分:2025
注 册:2016-3-10
收藏
得分:0 
利用主框架和子框架ID定位或者名称定位。

支持多框架,下面示例:
1、获取一层框架oaStartFrm的子框架;
2、获取二层框架frame的mainframe的框架
3、获取3层框架的input标签,当然也可以获取ID什么的
WebBrowser1.Document.getElementById("oaStartFrm").contentDocument.getElementsByTagName("frame")("mainFrame").contentDocument.getElementsByTagName("input")

[此贴子已经被作者于2023-3-23 12:44编辑过]

2023-03-23 11:41
kings12333
Rank: 2
等 级:论坛游民
帖 子:114
专家分:66
注 册:2012-11-29
收藏
得分:0 
MS都不更新IEB ,以后有些网页WebBrowser控件都打不开怎么办?
2023-03-23 19:16
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
方法一
在 iframe 的话,在 WebBrowser 载入完成事件中,判断每次完成的网页的URL,如果为 iframe 里指定地址时,保存 对象
同时 点亮登录按钮。
每载入网页时,这个事件会触发 iframe + 1 次事件,最后一个为最外层URL载入完成。
我一般用这个,如以前 盛大页游 登录 就是这样的。我填表用的是 JS 函数,更简洁一些。

方法二,遍类 WebBrowser  的 iframe ,根据URL来判断是不是要的那个,是,对 对象进行操作。
也就是3楼的方法

授人于鱼,不如授人于渔
早已停用QQ了
2023-03-23 20:34
独木星空
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:923
专家分:683
注 册:2016-6-29
收藏
得分:0 
回复 5楼 风吹过b
在这个论坛上,风吹过b是我最敬佩的人物。有能力,更有实力。

素数问题的解决是我学习编程永恒的动力。
2023-03-25 21:17
牛掰
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:38
专家分:100
注 册:2020-4-17
收藏
得分:0 
回复 6楼 独木星空
是更有时间
2023-03-27 16:02
zt5101314
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2023-3-22
收藏
得分:0 
统一回复,此代码已解决登录问题。
Private Sub Command1_Click()
Dim Vdoc As mshtml.HTMLDocument
Set Vdoc = WebBrowser1.document
Vdoc.frames(1).document.All("username").Value = Text1.Text
Vdoc.frames(1).document.All("password").Value = Text2.Text
Vdoc.frames(1).document.All("vertifyCode").Value = Text3.Text
Vdoc.frames(1).document.getElementById("LoginBtn").Click
End Sub
收到的鲜花
  • yuanyong9112023-07-29 17:33 送鲜花  1朵   附言:非常喜欢 精炼的代码
2023-03-28 07:50
yuanyong911
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2009-3-28
收藏
得分:0 
回复 8楼 zt5101314
我也遇到类似问题,看你的代码很精简。就测试了一下。但 提示 如果方便 帮我再看看 哪里出现了问题。万分感谢

---------------------------
Microsoft Visual Basic
---------------------------
编译错误:

用户定义类型未定义
---------------------------
确定   帮助   
---------------------------
2023-07-29 17:33
yuanyong911
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2009-3-28
收藏
得分:0 
以下是引用zt5101314在2023-3-28 07:50:33的发言:

统一回复,此代码已解决登录问题。
Private Sub Command1_Click()
Dim Vdoc As mshtml.HTMLDocument
Set Vdoc = WebBrowser1.document
Vdoc.frames(1).document.All("username").Value = Text1.Text
Vdoc.frames(1).document.All("password").Value = Text2.Text
Vdoc.frames(1).document.All("vertifyCode").Value = Text3.Text
Vdoc.frames(1).document.getElementById("LoginBtn").Click
End Sub

我也遇到类似问题,看你的代码很精简。就测试了一下。但 提示 如果方便 帮我再看看 哪里出现了问题。万分感谢

---------------------------
Microsoft Visual Basic
---------------------------
编译错误:

用户定义类型未定义
---------------------------
确定   帮助   
---------------------------
2023-07-29 17:33
快速回复:VB6.0在网页弹窗登录界面自动填表失败,如何解决
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018684 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved