我用VB 的WEBBROWSER访问一个网页时的问题 40C

我用VB 的WEBBROWSER访问一个内嵌有两个IFRAME的网页时我用

1、oWin.Document.getElementsByTagName("iframe")(1).Document.body.innerText
2、oWin.Document.body.innerText

这两个语句为什么返回的值是一样的,第一个是网页框架页的内容,第二个是网页的内容,可是为什么返回值都是主网页的值。图片说明

3个回答

用webBrowser1.Document.Window.Frames[0].Document来获取,而不是getElementsByTagName,这样得到的document是当前页面的,所以一样了

showbo
支付宝加好友偷能量挖 楼主是想当然了,按照js的思路是对的,winform不是这样的,GetElementsByTagName("iframe")[0].Document是所属iframe元素所属的Document,并不是iframe元素内的Document
接近 2 年之前 回复
showbo
支付宝加好友偷能量挖 参考:https://blog.csdn.net/dragonpeng2008/article/details/28893447
接近 2 年之前 回复

这两个语句都获取不了IFRAME的网页内容的

建议给出具体网址,这个如果是跨域的话通过frames集合是拒绝访问的,需要通过特殊组件。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
vb-跨域访问网页最简单方法,获得特定的frame进行处理
vb-跨域访问网页最简单方法,获得特定的frame进行处理 以下三种方法所用时间为130,82,28 微秒(一秒=100万微秒,=1000毫秒,1毫秒=1000微秒)
webBrowser中为html控件赋值及调用js[vb.net]
function PlayFlv() { var H_name = document.getElementById("H_str"); var str = H_name.value; var s1 = new SWFObject("cb.swf", "CuPlayer", "100%
webbrowser防止界面假死(停止五秒,遍历循环网址)
private void button2_Click(object sender, EventArgs e)         {             webBrowser1.Navigate("http://www.baidu.com");             Thread NewThread = new Thread(new ThreadStart(NN));
vb webbrowser 在原窗口打开弹出新窗口的链接
代码1: Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean) Dim frm As Form1 Set frm = New Form1 frm.Visible = True Set ppDisp = frm.WebBrowser1.object End Sub 代码2: Private S
vb webbrowser 保存网页源码的各种…
我在网上找到使用rft控件保存webbrowse文本  txtHtml是RichTextBox txtHTML.Text = WebBrowser1.document.body.innerText ´flag :rsftext 保存为txt文件,strtmp文件路径 txtHTML.saveFile strtmp, rtfText 将其name属性设置为web   Private Sub Com
VB代码使用WebBrowser控件作为容器打开Word文档
使用WebBrowser控件作为容器打开Word文档
VB使用WebBrowser读取网页内容
得到当前browser的页面字体内容Public Function getWebContent()Function getWebContent(browser As WebBrowser) As String    Dim doc As Object    Dim i As Object    Dim strHtml As String        Set doc = browser.Do
vb6在WebBrowser内如何访问JS函数、如何取得js代码中的变量的值
http://www.vbgood.com/thread-79947-1-1.html Dim HTML As String = Me.WebBrowser1.Document.InvokeScript("GetInnerHTML", New Object() {})
VB webbrowser 拦截弹出对话框并获取对话框信息
首先在工程——引用中引用 Microsoft HTML Object Library Option Explicit Private WithEvents m_MyVar As HTMLInputElement Private Sub Form_Load()     WebBrowser1.Navigate2 "http://www.xyserver.com" End Sub
VB 判断 WebBrowser是否已经加载网页完毕
1、 Private Sub Form_Load() WebBrowser1.navigate "http://blog.csdn.net/lbuskeep" Do DoEvents If Not WebBrowser1.Busy And WebBrowser1.LocationURL http://blog.csdn.net/lbuskeep" Then MsgBox
vb获取并改变webbrowser中的url
vb获取并改变webbrowser中的url
在vb中调用javascript功能函数并将结果反映到WebBrowser上
控制网页的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.Opt
VB编程 WebBrowser 控件的属性与方法
WebBrowser的8个方法和13个属性,以及它们的功能:方法 说明  GoBack 相当于IE的“后退”按钮,使你在当前历史列表中后退一项 GoForward 相当于IE的“前进”按钮,使你在当前历史列表中前进一项  GoHome 相当于IE的“主页”按钮,连接用户默认的主页  GoSearch 相当于IE的“搜索”按钮,连接用户默认的搜索页面  Navigate 连接到指定的URL
IE浏览器自动点击等事件WebBrowser…
现在.net 流行的是C#,有些时候想找VB代码还真挺难得,这不找了个c#控制IE浏览器自动点击等事件WebBrowser,mshtml.IHTMLDocument2,大家可以自己翻译下,或者找找灵感,非常好的资料。全文如下: 可以实现例如通过应用程序操作google搜索,用户输入要搜索的内容,然后在google中搜索;可以自动点击网页上的按钮等功能     1. 加入对Microsoft
网页通过External接口与WebBrowser交互
在上一篇Blog中谈到在WTL中添加IDL用于通过向导实现IDispatch,是要付出代价的,而且代价还不小,所以最后我还是用了最简单有效的方法。这里就把这样一个例子代码帖子下面:下面是我的IDispatch的实现,其中的MainDlg就是WTL向导生成的非模态对话框,可以根据自己的需求去掉。/* ------------------------------------------
webbrowser显示网页游戏时偶尔出现白屏解决办法。
最近自己尝试制作一个简单的浏览器,测试过程中发现一些问题,尤其是白屏现象,困扰了我很多。今天解决了发帖说说。 因为对单文档和多文档编程不是很熟悉,我使用的是Dialog模式。开始玩玩网页什么的,没什么问题。一玩网页游戏,问题就来了。只要用其他窗口覆盖一下自己的浏览器窗口,窗口上就会出现很多白色的块,人物走动几下就好了。在IE里测试了下,没有发现这个问题,那就是自己写的浏览器有问题。
Webbrowser控件判断网页加载完毕的简单方法
原文:http://blog.csdn.net/CometNet/article/details/5261192 一般情况下,当ReadyState属性变成READYSTATE_COMPLETE时,Webbrowser控件会通过触发DocumentCompleted事件来指示网页加载完毕。但当加载的网页包含frame时,可能会多次触发该事件,所以不能简单地通过它来判断网页
VB.NET让webbrowser控件中JS脚本错误最新方法(2013-09-16)
最近也是在项目中遇到了webbrowser控件中想关闭JS脚本错误窗口的问题,所以经过多次测试,终于用一段高效实用的代码完美解决webbrowser控件中JS脚本错误窗口关闭的问题。 通过创建一个子线程,然后在子线程中不断的去查找各类webbrowser的弹出窗口(alert、JS错误窗口),然后通过sendmessage函数来关闭窗口实现该功能!
webBrowser强制在本窗口打开,禁止在新窗口打开的解决方案
有时需要用WebBrowser加载URL,来实现某些功能。而这时,我们就不希望所打开的页面中的链接,在新窗口中打开,因为这样的话,实际上是用系统默认的浏览器打开了,从而脱离了你的WebBrowser,也就不能被你所控制了。  要解决这个问题,可以使用下面的方法: 第一种解决该当推荐使用 [code=csharp]  private void webBrowser1_NewWindow
VB自动登陆网络站点详解(四):在WebBrowser中发送POST请求
 本来这一部分内容也应该放在第二章,但一方面为了醒目,另一方面,这种方法实际上与Internet Explorer对象有很大的联系及相似性,所以特意将之放在Internet Explorer对象之后介绍。 现在我们要用到的也是WebBrowser的“Navigate”方法,其函数原型如下所示:Sub Navigate(URL As String, [Flags], [Targe
使用WebBrowser控件与网页通信,互相调用
本例程序运行效果图如下所示: WebBrowser控件之所有强大,一方面是由于控件本身提从了一系列的方法,包括打开网页,获取网页信息,操作网页(如前进后通等),拦截网页事件,另一方面则是提供了与网页相调用的机制。即以下2点: 1:让HTML页面的js调用我们在WebBrowser控件外面编写的函数。 2:让我们可以调用网页中的Javascript代码 如果能够让网页里的Ja
VB6.0 WebBrowser阻止弹出窗口的3个办法
VB6.0 WebBrowser阻止弹出窗口的3个办法
指定Webbrowser控件所使用IE内核版本
虽然电脑上安装了IE8或者更高版本的IE浏览器,但Webbrowser控件默认总是使用IE7内核兼容模式来显示网页内容,导致很多网页样式无法正常显示,例如IE7不兼容HTML5,解决方法是在注册表中为你的进程指定引用IE的版本号。 比如我的程序叫做a.exe 对于32位程序: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Inte
吐血巨献:VB网络编程(webbrowser+Inet+抓包封包+经验)
声明:本文部分内容来源与网络!    网络的重要性不用我说,所以关于网络的编程对我我们来说也是非常重要,非常实用的!    但是我在网络上却没有看到多少关于VB网络编程方面的知识,一方面是VB用的人比较少,不会用就说VB不好(个人认为学好VB以后C++、Java一看就会!);另一方面是大家不愿意公开这方面的知识,自己辛辛苦苦探索的,还得靠它吃饭,怎么可能轻易拿出来公布?但是社会要发展,人类要进
vb2008 webbrowser 如何禁止 脚本错误提示 及弹出对话框
1.在form 初始化时将webbrowser控件的ScriptErrorsSuppressed = True(false调试模式,允许脚本错误提示),也可以在其他合适的事件中设置。2.写个子过程Private Sub Window_Error(ByVal sender As Object, _ ByVal e As HtmlElementErrorEventArgs) ' 忽略错误并禁止弹出对话框 e.Handled = True End Sub 3.在webbrowser控
Excel2007 VBA使用WebBrowser控件登录12306网站的演示
Excel2007 VBA使用WebBrowser控件登录12306网站,推荐IE8,IE9也可以登录,但后继不能查询车票,是脑残的12306的问题。 程序涉及计时器、表单提交、页面加载完成判定、页面文字判断等多个方面。 代码来自网上若干人的支持
将WebBrowser中的页面截屏保存为图片
先说一点题外话,将WEB页面渲染成图片有比较好的开源工具,如CutyCapt ,它使用WebKit渲染,兼容多种操作系统,适合于在服务器上作为后台服务运行。不过,这里说到的是对WebBrowser内的页面进行截图并保存. WebBrowser本质上就是IE内核的浏览器。使用mshtml来渲染页面的话,依赖GDI,所以不可能作为后台服务运行。获取WebBrowser截屏的方法很多, PrintWin
WebBrowser控件跨域访问页面内容
原文出处 :http://blog.csdn.net/nocky/article/details/6056802 源码出处:http://www.codecentrix.com/blog/wnd2doc_csharp/GetDocumentFromWindowCsharp.zip 原作者的博客:http://codecentrix.blogspot.com/ 现整理: 经过
清除webBrowser 缓存和Cookie的解决方案
转自:http://www.cnblogs.com/midcn/p/3527123.html 通过测试webBrowser与IE缓存和Cookie都存放在Local Settings\Temporary Internet Files,我们可以直接调用IE API进行清除 解决方案1: public enum ShowCommands : int { SW_HI
webbrowser屏蔽弹出窗口的问题
用webbrowser访问网站时,如果网站有alert,window.open之类的JS,会在桌面上出现弹出框,并且必须点掉才会完成访问. 我在网上找了屏蔽这些弹出框的方法,就是添加事件Navigated,在里面重新定义这些函数.像下面这样 WebBrowser wbWebBrowser = new WebBrowser(); wbWebBrowser.Navigated += new Web
VB webbrowser 自动登陆问题 急!!!
写了一个自动登录程序,在有的网站用同样方法可以,下面这个不行,不知道为何?>能写入username及password就是不能submit?>错误提示 对象不支持该属性或方法 代码438>谢谢.>>>WebBrowser1.Navigate2 "http://202.84.17.88/chn">>Private Sub WebBrowser1_DocumentComplete(ByVal pDisp
vb源码webbrowser如何保存网页上图片(按图片链接查找)
vb源码webbrowser如何保存网页上图片(按图片链接查找) '┏〓〓〓〓〓〓〓〓〓 SaveWebImgUrlLike,start 〓〓〓〓〓〓〓〓〓┓ '[简介]: '保存网页上图片(按图片链接查找) Function SaveWebImgUrlLike(Web1
WebBrowser1 自动写上名字和密码 ,然后提交 ,自动进入系统
WebBrowser1 打开页面后 如何自动写上名字和密码 ,然后提交 ,自动进入系统
webbrowser指定显示网页的位置然后API实现模拟人工点击
HtmlDocument document = this.webBrowser1.Document;//             document.Window.ScrollTo(20, 102);             DoMouseClick(10,10); //设定webbrowser显示网页的位置 -----------------------------------------
非常不错的webbrowser控件教程
http://www.cctry.com/thread-262528-1-1.html 大家好,欢迎大家来到VC驿站。前段时间陆续给大家更新了三套VC实战Http之Post方面的教程: 《VC实战HTTP之POST》第一期:http://www.cctry.com/thread-244667-1-1.html 《VC实战HTTP之玩转QQ空间》:http://www.cctr
VB.Net WebBrowser如何取得鼠标点击位置的标签
代码: Private Sub Document_MouseDown(ByVal sender As Object, ByVal e As HtmlElementEventArgs) Dim P As Point = web.PointToClient(MousePosition) Dim he As HtmlElement = web.Document.
VB WebBrowser高亮显示及取消高亮显示关键字
前面提到过在WebBrowser中实现查找关键字及高亮显示关键字的功能,不晓得大家有没有发现那个高亮显示关键字的函数,高亮显示它是实现了,但是确没法把已经高亮显示的关键字的背景颜色取消掉,这个问题困惑我好长一段时间,在网上寻找答案也无语,只能自己去想办法了,于是我就在想,在找到关键字时先取得关键字的背景颜色,然后再替换选择的关键字背景。我找到了WebBrowser的一个属性BackColor设置或
webbrowser传值 VB
webbrowser传值 VB webbrowser传值 VB webbrowser传值 VB
webbrowser在线程中使用的问题
问:为什么在线程中很多功能一使用就报错?比如我在线程中可以获取到IHTMLDocument2,但通过IHTMLDocument2获取get_frame就报错在timer或主进程中都没有这个问题,如何解决呀各位?答:原文:http://topic.csdn.net/u/200809
WebBrowser控件总是最大化显示页面
编程时遇到一个问题:WebBrowser控件加载添加收件人页面时(弹出页面),WebBrowser控件显示区域很小,导致无法看到全部页面,并且和最大化后的窗体之间留有很大的空白区域。解决:Private Sub Form_Resize()WebBrowser1.Left = Me.LeftWebBrowser1.Top = Me.Top + 270WebBrowser1.Wid
VB_检测WebBrowser网页_刷新_加载_变更_关闭
详细讲解: VB_检测WebBrowser网页_刷新_加载_变更_关闭的方法
WebBrowser控件默认使用IE9,IE10的方法
作者:Xiaoqiang.Wu   发布:2013-04-24 01:46   分类:ASP.NET, Microsoft产品   阅读:31,099 views   2条评论   最近为了抓取淘宝的成交数据,用C#的WebBrowser控件开发了一个简单的程序. 发现WebBrowser控件默认使用的版本是IE7的兼容模式.而淘宝的宝贝详细页居然对IE7的支持不是很好. 成交记录无
C# Webbrowser 常用方法及多线程调用
设置控件的值 /// /// 根据ID,NAME双重判断并设置值 /// /// /// /// private void SetTxt(string tagName, string name, string id, string value) {
捕获 WebBrowser 控件的鼠标事件
<br /> 捕获 WebBrowser 控件的鼠标事件<br />  VB 的网页浏览控件 WebBrowser 没有 MouseDown、MouseMove、MouseUp 等鼠标事件,要在程序中捕获这些事件,必须另想办法。本文使用注入 java 脚本的方法来捕获控件的鼠标事件。<br />  另一种捕获鼠标事件的方法,参见另一文章:使用 Document 的事件捕获 WebBrowser 控件的鼠标事件<br />'以下代码在 VB6 调试通过<br />'勾选部件:Microsoft Interne
改善WebBrowser性能
C#中使用.NET封装的WebBrowser只支持单线程模式,大部分对其操作必须在创建它的线程中执行,不可以在其它线程中调用其方法或属性,用起来非常不方便。而且,其性能受到明显影响,特别是程序的线程较多的时候,WebBrowser反应非常慢,为了提高其响应速度,我提高了其线程的优先级,还是比较管用,线程默认的优先级是Normal,只需要改为AboveNormal改善就比较明显了,但改成Highest反而感觉效果不好,可能跟我的后台线程有关系。
VB中WebBrowser控件运用 自动获取网页表格数据 网页表格内容自动提取 VB源码
'此代码发布后,可随意改哈,欢迎光临我的网址导航网站 http://www.97tt.org Private Declare Function ShellExecute Lib "shell32.dll" Alias _ "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _ ByVal lpFile As String, ByVal lpParameters As String, _ ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Sub Command1_Click() Unload Me End Sub Private Sub Command2_Click() On Error Resume Next RichTextBox1.Text = "" Dim Tables As IHTMLElementCollection Set Tables = WebBrowser1.Document.getElementsByTagName("Table") Dim Table1 As HTMLTable Dim Row As HTMLTableRow, Cell As HTMLTableCell For Each Table1 In Tables 'Next For i = 1 To Table1.rows.length - 2 ' 逐行处理 Set Row = Table1.rows(i) j = 0 For Each Cell In Row.cells ' 逐列处理 RichTextBox1.Text = RichTextBox1.Text + Trim(Row.cells(j).innerText) + "," j = j + 1 Next ' 一行处理完毕后,去除行尾的逗号并加上回车 RichTextBox1.Text = Left(RichTextBox1.Text, Len(RichTextBox1.Text) - 1) + vbCrLf Next Next End Sub
webbrowser获取和设置变量的值
这个方法简直太棒了,我们可以用网站自己的脚本来完成我们想要完成的事情。。。 这里主要是说对脚本变量值的获取和设置,元素设置太简单了,不多说,这个可以用来改变脚本流程,比如里面可能有个计时器,我们要改变这个计时器的值就可以使用这中方法了 转自http://topic.csdn.net/u/20080117/23/27d0ec6e-ffed-4441-95c4-bae521659321
WebBrowser打开https安全链接,弹出"安全警报"(Security Alert)处理
使用WebBrowser控件时,在打开https安全链接时,可能会弹出"安全警报"(Security Alert)窗口让用户确认.用户只有点击"是(&Y)"才能正常打开网页.这是多余操作.解决方法:定时监视是否有窗口弹出,如果有,获取窗口句柄,再获取窗口中的按钮"是(&Y)"或"否(&N)",模拟点击动作,自动点击"是(&Y)",打开页面.以中国铁路购票网站为例:https://www.12306.cn/mormhweb/
利用vb的WebBrowser控件开发的网页浏览器
VB6.0实现,可以记录浏览历史、添加和管理收藏集,设置浏览器的界面语言等,是本人深入研究vb的WebBrowser控件进行浏览器开发的结晶。天狼星个人作品,版权所有,仅供参考学习。
禁止WebBrowser弹出网页对话框
unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, OleCtrls, SHDocVw; t
相关热词 c# plc s1200 c#里氏转换原则 c# 主界面 c# do loop c#存为组套 模板 c# 停掉协程 c# rgb 读取图片 c# 图片颜色调整 最快 c#多张图片上传 c#密封类与密封方法
立即提问