VBA处理网页基础二_第1页
VBA处理网页基础二_第2页
VBA处理网页基础二_第3页
VBA处理网页基础二_第4页
VBA处理网页基础二_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-.z.VBA的WEB应用系列教程——HTML文档篇上节课,我们说了通讯,通讯一般情况返回的是啥呢?是页面的源代码。例如,我们访问百度,返回了,“<!doctypehtml><html>…〞一大堆东西。就是,我们在页面点击右键,“查看页面源文件〞,如图:我们的浏览器,正是把这堆源代码,翻译成我们可视的生动地页面的。就像VBA一样,这堆代码是什么语言呢,就是通常所说的,超文本标记语言。为啥叫标记语言,因为它只能用于展示,展示我们所看到的网页页面。不是编程语言哦。为啥叫超文本呢,大家仔细看,这堆源代码有什么特征呢,就是有很多<…>这样的文本,一般而言,我们把<…>叫做标签,细心的同学可以发现,标签都是成对出现的,例如“<title>百度一下,你就知道</title>〞。第一个叫做开场标签,第二个多带了个/叫完毕标签。标签之间就是网页的文本,例如这个例子,就是我们网页标题的文本“百度一下,你就知道〞。所以,标签的作用就是,给文本打上标记,告诉浏览器,怎么显示这个文本。例如本例,要求浏览器把“百度一下,你就知道〞显示成网页的标题。HTML文档=文本+标签,所以就超文本啦。总之,HTML就是用来描述网页的语言,像上面所说的<title>这样的标签,是有一整套的,呵呵。我们的教程,并不是为了教大家,怎么去做网页,设计网页,因此,大家仅仅需要,大致的了解一些HTML系列的文本标记语言的根底即可,知道常用的几个标签,有什么用即可。一、网页数据提取常见的HTML标签/元素上面说了,标签是用来描述网页的。浏览器读取HTML文档,识别标签,并按标签要求以网页进展显示文本。大局部标签都是成队出现的。起始标签和完毕标签之间的所有文本,都叫做元素。也就是这个格式就是:<起始标签:也叫元素名>元素的容<完毕标签:/+元素名>标签是可以拥有属性的,因此起始标签,有时候格式如下:<元素名属性名称=〞属性值〞>属性提供了元素的一些附加信息啦,后面我们讲具体标签,大家就会见到属性怎么用。另外,注意,元素是可以拥有元素的,即*个元素的容有时候是一个子元素。元素这东西,比拟抽象,我们可以把它且当作一个对象来理解,例如工作簿对象,每个工作簿的名称都不一样〔属性〕,每个工作簿里面都有工作表〔子元素〕,每个表都有名称〔属性〕,里面填写的容也不一样〔元素的容〕。下面讲讲常见的和我们网页数据提取要常见的元素/标签。整体框架构造:每个网页文档,都是有个大致的框架,框架如下:<html><head><!--注释:文档头部,文档相关消息,并不提供文档容--> <title>网页标题 </title> </head> <body><!--注释:文档主体-->网页文档主体 </body></html>把上面这段文本保存在T*T文件里面,然后另存.html格式,就可以得到最根底的页面。从上面的框架代码,我们可以看出,一般的页面,都有html元素,其一般含两个元素,一个是head元素,一个是body元素。Head元素仅仅说明文档的相关消息,并不展示文档实体,body元素才是真正展示文档主体的,所有要在页面展示的元素,都要在body內进展书写。后面的元素的测试,都是以替换掉body元素的文本“网页文档主体〞进展书写,后续不再复述这个框架。〔二〕段落<p>特别是提取小说,新闻等页面的消息,文本都是一段一段的,这样的页面,一般是通过<p>标签实现的。这个没啥好说的,自己动手试看看就知道。所以,当运用ie/webbrowser方式提取这类网页的时候,历遍段落p元素即可。〔三〕超<a>超是我们最常见的页面元素,根本的门户都有他,点了以后,可以跳转到另一个页面。一般语法格式:<ahref=〞跳转的URL〞target=〞_blank/_self〞>显示的超文本</a>Target属性,表示的是,当我们点击超,是在原页面进展跳转〔_self〕还是新建页面进展跳转〔_blank〕。测试做个ET的超吧。〔四〕图像<img>图像标签用法和超类似,语法:<imgsrc=〞url〞alt=〞文本〞>alt属性代表的是,当图片无法加载的时候,替换显示的文本。我们做个加载ET的LOGO的页面玩玩。〔.e*/static/image/mon/logo.jpg〕。〔五〕表格<table>表格是我们网页最常见的,也是我们网页数据提取,最需要打交道的,其实它非常简单,框架如下,每行用<tr>,每个单元格用<td>:<tableborder="1"><!--注释:border设置表格边框样式--> <tr> <td>第一行第一个单元格</td> <td>第一行第二个单元格</td> </tr> <tr> <td>第二行第一个单元格</td> <td>第二行第二个单元格</td> </tr></table>〔六〕列表很多时候,数据也经常以列表形式存在的,列表有三种:无序、有序和自定义。分别框架如下:1、无序列表<ul><ul><li>函数</li><li>VBA</li></ul>2、有序列表<ol><ol><li>图书<ol><li>VBA</li><li>函数</li></ol></li><li>视频<ol><li>基操</li><li>图表</li><li>数透</li></ol></li></ol>3、自定义列表<dl><dl><dt>第一节课</dt><dd>网络通讯</dd><dt>第二节课</dt><dd>HTML</dd></dl>〔七〕表单和表单控件除了表格,表单也是我们在网页数据提取,页面操控最常见到的元素。例如我们注册用户,例如我们的微博登陆,例如我们的百度搜索,其实都是表单。我们先来看一个例子:<p>请在文本框输入要搜索的关键字,后按提交,将提交百度进展搜索</p><formmethod="get"action=".baidu./s"><inputname="wd"type="te*t"value="e*celtip"><inputtype="submit"value="提交"></form>例如在文本框输入“苹果〞后,按提交按钮:这个表单模拟的是百度搜索,在文本框输入关键字后,按提交,将跳转至百度的搜索结果的界面。呵呵,奇妙吧。如何实现的呢?细心的同学会发现吧,表单form这个元素,有“method〞和“action〞两个属性,action属性指定的就是,提交表单后,向这个属性指定URL发送请求〔呵呵,涉及到第一节课的知识啦〕,method这个属性设定的就是,要按照get或者post等方式发送请求。复习下第一节课吧,采用get的方式呢,参数将在URL后面加个"号,然后发送,采用post的方式呢,将在消息主体里面投递查询参数。那发送请求的参数从哪里来的?就是从表单元素含的各种下属元素,提取其name属性的值,作为参数名,然后提取该元素的value属性作为参数值〔value属性的值有时候是由我们输入的,例如本例,虽然我们指定了默认的value属性的值为e*celtip,但是我们可以手动输入,把它修改成“苹果〞〕。然后浏览器就用参数名=参数值和&进展连接〔还是上节课的知识〕串起来。就如本例,提交后,观察URL为:.baidu./s"wd=苹果,wb就是第一个input元素的属性值,苹果就是我们输入的,赋予第一个input元素的value属性的值。下面,我们讲讲表单主要的含子元素吧。1、输入标签〔<input>〕其语法是:<inputtype=类型name=元素名称id=元素idvalue=元素值/>其类型由type属性定义,常见的有:te*t〔文本框〕、Radio〔单项选择按钮〕、Checkbo*es〔复选框〕、submit〔提交按钮〕、hidden〔隐藏〕、reset〔重置〕和password〔密码框〕等。其中注意,其中单项选择框和复选框的是否选中,由checked属性指定,如果值是〞checked〞则选定。不多说了,看例子吧。〔文本框和提交按钮就不做了,上面都举例了。密码框同,类似的〕<form><inputname="ch1"type="checkbo*"value="e*cel"checked="checked">表格设计<inputname="ch2"type="checkbo*"value="word">文档处理<inputname="ch3"type="checkbo*"value="ppt"checked="checked">幻灯片</br><inputname="rd"type="radio"value="100"checked="checked">vip<inputname="rd"type="radio"value="10">普通会员</br><inputtype="reset"value="重置"></form>注意,当表单提交的时候,发送请求时,单项选择框和复选框,仅发送checked属性为〞checked〞的元素。一样是把标记了checked的元素的name属性值和value属性值串起来。2、下拉列表<select>其语法:<selectmultiple="multiple"name=名称size=显示菜单条目数>如果存在multiple="multiple"的属性设定,则允许菜单多项选择,否则单项选择。Size是设置可见的菜单条目数。其下级元素,option代表的是其每个菜单工程,语法为:<optionvalue=值selected="selected">显示文字</option>一样,value属性接着的就是发往效劳器的值,当提交的时候,就是将select的name属性值与用户选择的*项option元素的value属性值连接,进展发送。Option元素的selected属性设置的是默认选中的菜单项。例如如下:<p>单项选择选择列表</p><form><selectname="sel"><optionvalue="1">图书</option><optionvalue="2">视频</option><optionvalue="3"selected="selected">动画</option><optionvalue="4">图解</option></select></form><p>多重选择列表,按住shift或ctrl键进展多重选择</p><form><selectmultiple="multiple"name="sel"size=2><option>e*cel</option><option>word</option><option>ppt</option></select></form>〔八〕框架<frame>标签和<iframe>标签1、frameset和frameFrame是独立框架,就好似我们的分屏浏览一样,一个屏幕,浏览多个画面一样。语法如下:<html><framesetcols="a%,b%,…"/rows=〞*,100〞><framesrc="页面A"/><framesrc="页面B"/></frameset></html>首先框架必须放置在框架构造标签里面〔<frameset>〕,其rows/columns属性的值规定了框架每行或每列占据屏幕的面积。另外,frameset和body不能同时使用,除非有noframes,很简单,因为frame其实就描绘文档了,所以,一般不需要再有body进展描绘。另外,框架元素一般放置于head元素內。Frame元素的src属性就是设定了其框架显示页面的URL。例如如下:<html><!--注释:文档跟元素--><head><!--注释:文档头部,文档相关消息,并不提供文档容--> <title>框架测试文档 </title><framesetrows="50%,50%"><framesrc=".e*"><framesrc=".baidu."></frameset> </head></html>2、iframeIframe的框架,就类似画中画的效果,在原页面插入一个页面。语法如下:<iframesrc=urlscrolling=yes/no/autoheight=**width=**>Src设定框架要显示的文档的url,scrolling设置是否显示滚动条。Height和widty设置的就是它的高度和宽度。案例如下:<p>第一个框架</p><iframesrc=".w3school.."></iframe></br><p>第二个框架</p><iframesrc=".baidu."></iframe>Html就大概讲这一些吧,呵呵,毕竟我们不是要做网页,大家大致了解下就是,还可以参考.w3school..去学习。一般能做到,看得懂网页的框架构造即可。二、HTML文档对象模型〔HTMLDOM〕认识了网页文档上面的各种元素,我们怎么访问他们呢,是通过什么机制实现的呢?HTML文档,向程序们,提供了访问其元素的端口,这就是HTMLDOM,其定义了一套标准的针对HTML文档的对象访问或操作的机制。现在DOM有多个版本,本文还是以最根底的DOM1〔98年公布〕这个版本。1、VBA访问IE网页文档的程序模板讲访问前,我们先简要讲讲,如何用VBA调用IE,直接给个模板吧,详细的IE对象的属性和方法等,我们后面的课会再讲:Subtest()Dimie,dmtSetie=CreateObject("InternetE*plorer.Application")'创立一个IE对象Withie.Visible=True'显示它.navigate".baidu."'加载*个页面DoUntil.ReadyState=4'等待页面加载完毕DoEventsLoopSetdmt=.document'将IE浏览器加载的页面文档,赋予dmt变量‘开场操纵页面,或者提取数据啦EndWithEndSub通过上面这个模板,我们就可以创立一个IE对象,并将其页面文档对象赋予dmt变量,这样,我们通过dmt变量,就可对页面元素,进展后续的访问以及操作。2、HTMLDOM对象和我们E*CEL的对象集合的层次构造类似〔WORKBOOKS-WORKSHEETS-CELLS等〕,HTMLDOM为网页文档也组织了一个对象集合的分层次模型。另外,从上一节标签和元素的学习,大家也可以大致的得知,元素是可以拥有元素的,所以,这个分层的模型完全是合理的。HTMLDOM的对象模型类似如下列图:但是,VBA直接支持调用的对象有限,如下:对象描述Document代表整个HTML文档,可被用来访问页面中的所有元素Anchors代表<a>元素集合Body代表<body>元素Forms代表<form>元素集合Frames代表<frame>元素或<iframe>元素集合Images代表<img>元素集合Links代表<link>元素集合Options代表<option>元素集合〔select元素里面可以直接使用〕Cells代表<td>元素集合〔table元素里面可以直接使用〕Rows代表<tr>元素集合〔table元素里面可以直接使用〕All对象集合,提供对文档中所有HTML元素的访问。VBA支持直接调用对象的元素,调用就非常方便了,可以用序号调用,例如forms(0),也可以按名称/ID调用,例如forms(“名称/ID〞)。其他没法直接调用对象的元素,可以间接从通用all对象集合中去调用该元素或该元素对应的dom对象,或者还可以从文档树模型去调用。如下阐述。3、文档树在HTMLDOM中,文档的每一局部都是节点,整个文档被定义为一个文档节点,每个标签是一个元素节点,包含在元素中的文本是文本节点,每一个元素的属性是一个属性节点。形象的比喻做一棵树吧,根节点就是html,主干就是body等,枝干就是body含的各种元素节点,叶子和花就是元素节点关联的元素的属性〔属性节点〕或含文本〔文本节点〕。自己画的图太丑了,直接引用w3school的图吧:当HTMLDOM在解析网页文档的时候,就按整个文档的构造生成一棵树,全部保存在存中,我们可以随时访问任何节点。总之,网页文档,可以说是由元素组合而成的,也可以说是由节点连接而成的树构造的。节点是文档树构造中特有的名词,元素是节点,但是节点不一定是元素,节点还有文档节点、文本节点、属性节点等;元素是元素节点的扩展,元素可以拥有属性还有文本。初学者不是很必要纠结元素和节点的区别,这个需要甚至数据构造、类和继承等知识。可大致理解为,同一个htmldom对象,提供的两个不同接口。有兴趣的朋友,可以按F8运行下面这个程序,然后本地窗口观察bd这个dody对象,你会发现,他既有支持node〔节点〕的相关属性和方法,也提供了element〔元素〕的相关属性和方法。Subtest()Dimie,dmt,bdSetie=CreateObject("InternetE*plorer.Application")'创立一个IE对象Withie.Visible=True'显示它.navigate".baidu."'加载*个页面DoUntil.ReadyState=4'等待页面加载完毕DoEventsLoopSetdmt=.document'将IE浏览器加载的页面文档,赋予dmt变量Setbd=dmt.body'将文档的body赋予bd变量EndWithEndSub4、如何通过文档树查找所需的网页元素打个比方吧,当我们要掏大树上的鸟窝,有几种方式呢?〔1〕首先,当我们可以目测到,鸟窝在哪个节点的时候,我们可以用梯子,爬上去,直接掏。因此,当我们可以很清晰的观测到,节点的*些属性时,就可以直接定位它。元素节点的主要的定位属性有:id、name和索引号。还记得吗,元素起始标签的语法:<标签id="**"name="**"value=〞**〞...>,当初一定很疑惑吧,为啥要有名字或id等属性,现在明白了吧,和我们的和**一样,为了比拟容易的找到我们。那索引号是什么呢,就例如我们从树根出发,清点树上的果子,给每个果子编号,这样我们就很容易知道,哪个号的果子成熟了,或者被虫子咬了。一样的,我们可以按源代码书写的顺序,给每类的元素的成员进展编号〔类似每类元素,形成一个数组,从0开场编号〕。通过元素类别和编号,我们可以很容易的找到它。另外,例如我们中学的教师,上课时,要抓人提问,可以用**,也可以通过小组,哪一排,第几个学生,起来提问。因此,索引号,也有整个文档的,和同类元素之分。殊途同归,无论你点这个学员的**,还是从他的组别的座位号去找他,都是可以的。所以,按统计方式或者起始节点的不同,索引号也会不同。刚刚说的查找工具〔也就是打比方里面的梯子〕有以下这些:getElementById(“元素的id属性〞)或all(“元素的id属性〞):返回拥有指定id的元素集合getElementsByName(“元素的name属性〞)或all(“元素的name属性〞):返回拥有指定名称的元素的集合getElementsByTagName(“标签名称〞)或all.tags(“标签名称〞):返回该类标签的元素集合。all(索引号):返回指定索引号的元素节点。〔2〕其次,当我们仅听到鸟鸣声,却不知道鸟窝在哪里的时候,有时候,我们只能顺藤摸瓜,开场爬树,沿着树干进展判断,最后攀爬到鸟窝处。或者,可能大概知道个方位,先架梯子,到*个主干,再从那里开场查找。因此,当我们找不到清晰的属性去定位网页元素时,我们可以从body元素/节点开场,一级级去寻找,也可以先定位到它的毗邻节点/元素,再通过判断,去查找它的准确位置。从节点方面而言,树形的模型的节点有个特征,除了根节点,每个节点均只有一个父节点〔parentNode〕,有一个或者多个子节点〔childNodes,类似一个对象集合或对象数组,从0开场编号〕。因此,通过节点的亲属关系,进展判断查找,我们就可以一步步的在父子节点中切换,获取所需的元素。节点有一些属性,可以利于我们的查找判断,如下:nodeName〔节点名称〕:元素节点的名称为其标签名,属性节点的名称为其属性名称;nodeValue〔节点值〕:文本节点的值为其包含的文本,属性节点的值为其包含的属性值;nodeType〔节点类型〕:元素节点为1、属性节点为2、文本节点为3、注释节点为8、文档节点为9另外,从元素方面而言,要定位元素的父元素可以通过parentElement属性,定位元素的子元素集合可以通过children属性,判断其标签的名称(tagname),他的值(value),含文本(innerte*t)等方式来进展查找。最后,定位节点/元素的下一个同级兄弟可以通过ne*tSibling属性,定位上一个同级兄弟可以用previousSibling属性。例如的话,后面一起展示。先学懂方法吧。5、网页元素分析工具工欲善其事,必先利其器,很多高手已经提供应我们很多好用的网页元素的分析工具,我们怎么用他们呢?讲两个工具,一个是网页精灵〔按键精灵论坛的作品〕,一个是firebug。首先是网页按键精灵。如,操作如下列图,输入网址,按“网页分析〞,然后按F9,将鼠标指向需要分析的页面元素,例如文本框,则得出元素相关的属性。下方得出的有,标签的名称,元素的id,元素的name,元素的索引号〔第几个input标签,从0开场编号〕。复习下上面说的概念?就想象网页文档是个班级,标签就是学习小组,其中input这个学习小组里面,有个人的名字name是wd,他的工号id是kw,它在小组里面座位号是0。我们,就是用这些标示,来找到这个元素的。另外,在firefo*浏览器,还可以使用firebug,直接对页面元素单击右键,使用“使用firebug查看元素〞的菜单。这样可以直接观察到该元素的网页源代码,然后进展分析。6、常见HTMLDOM对象的属性、方法以及例如〔1〕通用的属性和方法i.四个常用的通用属性对象.innerHtml:对象部的HTML代码对象.OuterHtml:对象的HTML代码,包括对象本身的HTML标签对象.innerTe*t:对象部的文本对象.OuterTe*t:对象的文本,包括对象本身的文本举例,我们去捕捉百度首页,那个提交搜索的表单。这个表单的名称是〞f〞,然后查询它的innerHtml和OuterHtml。Subtest()Dimie,dmt,anSetie=CreateObject("InternetE*plorer.Application")'创立一个IE对象Withie.Visible=True'显示它.navigate".baidu."'加载*个页面DoUntil.ReadyState=4'等待页面加载完毕DoEventsLoopSetdmt=.document'将IE浏览器加载的页面文档,赋予dmt变量Setan=dmt.forms("f")Debug.Print"innerHtml:",an.innerhtmlDebug.Print"OuterHtml:",an.OuterHtmlEndWithEndSub观察一下立即窗口输出的区别,很容易就知道inner和outer的区别了。ii.一个常用的通用方法fireevent〔发送事件〕HTMLDOM对象,和我们E*CEL对象,都具有属性、方法和事件。前面所述的innerhtml那些都是属性,方法就是我们要给这个对象执行什么动作,比方点击网页上一个按钮,按钮这个对象就被“click〞了,click就是按钮对象的一个方法。另外,网页对象也像我们的工作表一样,也支持识别事件,例如,当按钮被点击了,系统就会触发“oncilck〞〔被点击了这个事件〕,然后依据网页源代码里面设定好处理步骤去处理这个事件。主要的事件,整理如下:事件适用元素何时触发onloadBody和frame文档加载时onchange表单元素当元素改变时onsubmit表单元素当表单被提交时onreset表单元素当表单被重置时onselect表单元素当元素被选取时onblur表单元素和超元素当元素失去焦点时onfocus表单元素和超元素当元素获得焦点时onkeydownBody和表单元素当键盘被按下时onkeypressBody和表单元素当键盘被按下后又松开时onkeyupBody和表单元素当键盘被松开时onclick大局部元素当鼠标被单击时ondblclick大局部元素当鼠标被双击时onmousedown大局部元素当鼠标按钮被按下时onmousemove大局部元素当鼠标指针移动时onmouseout大局部元素当鼠标指针移出*元素时onmouseover大局部元素当鼠标指针悬停于*元素之上时onmouseup大局部元素当鼠标按钮被松开时那fireevent这个方法又是何用呢,他的作用就是,代替我们的一些操作,直接激发*些对象的*些事件。例如我们的fireevent例如.html,点击文档主体的〞点我一下〞,将弹出对话框。下面,我们用程序模拟,这个点击事件的触发。新建一个e*cel,放置于和fireevent例如.html同文件夹下的目录里。Subtest()Dimie,dmt,fmSetie=CreateObject("InternetE*plorer.Application")'创立一个IE对象Withie.Visible=True'显示它.navigateThisWorkbook.Path&"\fireevent例如.html"'加载*个页面DoUntil.ReadyState=4'等待页面加载完毕DoEventsLoopSetdmt=.document'将IE浏览器加载的页面文档,赋予dmt变量dmt.body.FireEvent"onclick"'触发body的点击事件EndWithEndSub这样,程序就模拟了我们点击了body后激发的事件。一样,我们也可以用,这个方法取激发事件,殊途同归。Fireevent主要用于,有的表单的校验机制非常强,需要光标聚焦了,文本change了等等,才能提交表单,这些事件的模拟只能靠fireevent了,其他方法就很难替代了。〔2〕表单和表单控件对象表单form对象,有一个方法比拟重要,就是submit,这个方法提供了表单的提交的动作。如果我们捕捉页面的提交按钮非常困难时,有时候只要对表单,执行submit方法,表单也是可以提交的,不需去点击提交按钮。表单控件,文本输入类控件,最常用就是value的属性了,通过这个属性,可以往文本框里面添加文本。单项选择框、复选框,常用的就是checked属性了,如果为true就是被选中了,或者直接使用click方法也行。下拉列表呢,如果是单项选择列表框,可通过selectedInde*属性去设置选中项〔下拉选项,从1开场编号,如2就是选择下拉列表的第二个选项〕,也可以通过value属性,直接把value指定为要选定的option的value即可,但多项选择列表框不可用这两个属性。另外,所有类别的列表框,都可以通过其含对象集合options(),设置*个options(*)的selected属性为true,来设置选中项。还是以百度首页为例如,我们用程序模拟键入查询数据“e*celtip〞,然后提交查询为演示吧。Subtest()Dimie,dmt,fmSetie=CreateObject("InternetE*plorer.Application")'创立一个IE对象Withie.Visible=True'显示它.navigate".baidu."'加载*个页面DoUntil.ReadyState=4'等待页面加载完毕DoEventsLoopSetdmt=.document'将IE浏览器加载的页面文档,赋予dmt变量Setfm=dmt.forms("f")'用表单的名称f,捕捉表单对象dmt.all("kw").Value="e*celtip"'用搜索栏的id〞kw〞捕捉它,并键入e*celtipdmt.all.tags("input")(3).Click'用“百度一下〞按钮的input索引号捕捉它,并模拟按钮的点击'fm.submit'模拟表单的提交,不一定要clickEndWithEndSub〔3〕Table对象表格对象,也是我们提取网页数据,最常打交道的对象了。其含rows对象集合,可以使我们访问表格的每行,每个row对象还含cells对象集合,使我们可以访问其每行的每个单元格,读取每个单元格的innerte*t属性即可获取我们所需每个单元格的文本。另外,常用的属性还有length,这个类似我们VBA里面的count,都是返回*个对象的数量。我们以提取财富网的限售股解禁清单的table为例,URL:data.eastmoney./d*f/default.html。Subtest()Dimie,dmt,tb,i&,j&Setie=CreateObject("InternetE*plorer.Application")'创立一个IE对象Withie.Visible=True'显示它.navigate"data.eastmoney./d*f/default.html"'加载*个页面DoUntil.ReadyState=4'等待页面加载完毕DoEventsLoopSetdmt=.document'将IE浏览器加载的页面文档,赋予dmt变量Settb=dmt.all.tags("table")(3)'通过索引号捕捉表格对象Fori=0Totb.Rows.Length-1'历遍其每个行Forj=0Totb.Rows(i).Cells.Length-1'历遍每行的每个单元格Cells(i+1,j+1)=tb.Rows(i).Cells(j).innerte*t'将其innerte*t写入单元格Ne*tNe*tEndWithEndSub通过上面的代码,这个解禁清单就被我们提取下来了。〔4〕框架frames对象Frame和iframe元素,均表达在frames对象集合里面。其最重要的属性就是document,也就是获取框架的页面文档。举个例子吧,提取一个网址为:.w3school../tiy/loadte*t.asp"f=html_iframe的框架里面的图片的URL。Subtest()Dimie,dmt,idmtSetie=CreateObject("InternetE*plorer.Application")'创立一个IE对象Withie.Visible=True'显示它

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论