百度首页网页元素详解

教程是我推出的第六套教程,目前已经是修订的第一版。这套教程定位在最高级,是学完初级、中级后的教程。教程内容涵盖了跨应用程序信息获取、随机信息利用、电子邮件发送、VBA互联网数据抓取、VBA延时操作、剪贴板应用、Split函数扩展、工作表信息与其他应用交互、FSO对象利用、工作表及文件夹信息获取、图形信息获取以及定制工作表信息函数等。程序文件通过32位和64位两种OFFICE系统测试,具有高度的抽象性和研究价值。

教程共两册,八十四讲。今日内容专题八“VBA与HTML文档”:查找百度首页的网页元素。

查找百度首页的网页元素

第六节 HTML DOM对象常用的方法

大家好,我们开始讲解HTML DOM常见对象的方法。所谓的方法就是对象自身的动作。HTML DOM 方法就是我们可以在节点(HTML 元素)上执行的动作,比如添加或修改元素。

1. 常用的 HTML DOM 方法

一些常用的 HTML DOM 方法包括:

  • getElementById(id):获取带有指定 id 的节点(元素)
  • getElementsByTagName():返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)
  • getElementsByClassName():返回包含带有指定类名的所有元素的节点列表
  • appendChild(node):插入新的子节点(元素)
  • removeChild(node):删除子节点(元素)
  • insertBefore():在指定的子节点前面插入新的子节点
  • getAttribute():返回指定的属性值

HTML DOM 方法还有很多,我们经常利用的就是上述前三个方法。

2. 访问 HTML 元素(节点)

所谓访问HTML 元素(节点)就是上述方法的利用。我们举例说明:

  • getElementById() 方法返回带有指定 ID 的元素
  • getElementsByTagName() 返回带有指定标签名的所有元素
  • getElementsByClassName() 查找带有相同类名的所有 HTML 元素

3. 查找所需的网页元素的综合利用

有了上述理论,我们来看看在实际应用中如何查找所需的网页元素:

  • 当我们可以清晰观测到节点的某些属性时,就可以直接定位它。元素节点的主要定位属性有:id、name和索引号。
  • 我们还可以从body元素/节点开始,一级级寻找,或者先定位到它的毗邻节点/元素,再通过判断,查找它的精确位置。

4. VBA中查找百度首页元素的一个实例

我们去捕捉百度首页,那个提交搜索的表单。这个表单的名称是“f”,然后查询它的innerHtml和OuterHtml。

Sub MYNZA() '捕捉百度首页,提交搜索的表单
    '【代码见教程】
End Sub

代码截图:

输出结果:

innerHtml:
<input name="ie" type="hidden" value="utf-8">
<input name="f" type="hidden" value="8">
...
OuterHtml:
<form name="f" class="93a7-bb02-48be-e8d7 fm" id="form" action="/s">
<input name="ie" type="hidden" value="utf-8">
<input name="f" type="hidden" value="8">
...

从以上返回结果,大家也可以看出document对象的innerHtmlOuterHtml属性的不同。

本节知识点回向

  • HTML DOM对象常用的方法有哪些?如何利用?

本节参考文件:008工作表.xlsm

我20多年的VBA实践经验,全部浓缩在以下的各个教程中。教程学习顺序:

【分享成果,随喜正能量】做人是一件很麻烦的事,所有说法和实情之间都存在这巨大的空隙,好像一生都在和这个东西挣扎,分辨力越强这空隙越深不见底,最后似乎只好把空虚视为答案和真相。