vb检测html事件,VB下对HTML元素的操作

该篇博客主要讲解如何在HTML中通过遍历元素和节点来提取特定信息,如姓名、邮箱和生日。示例代码展示了如何使用VBA遍历`<li>`元素,通过判断节点类型和类名来获取所需数据。博客还提到了HTML节点类型及其含义,并介绍了事件委托和DOM操作的基础知识。
摘要由CSDN通过智能技术生成
test

如上面的页面源码,若要提取出姓名,邮箱和生日,可下面这样做

Private Sub Command1_Click()

Dim str As String

Dim li, cd

Dim c_name As String

'遍历元素

For Each li In Dom.Document.getElementsByTagName("li")

'用判断忽略掉列首名称的

If li.classname = "lst_row" Then

'遍历

下的节点

For Each cd In li.childNodes

'判断是否为元素节点

If cd.nodeType <> Then

If cd.classname = "col_2" Then

'如果是第2列的,那么再用firstChild取出第一个元素节点

str = str & cd.firstChild.href & " "

Else

'其他列直接输出文本

str = str & cd.innertext & " "

End If

End If

Next

str = str & vbCrLf

End If

Next

Print str

End Sub

87eb3b8109341b98fc26e34d3bfcd41e.png

其实就很简单的东西,主要是对HTML不是很熟悉,对node和element有点晕,下面是nodeType值说明

Element

代表元素

Element, Text, Comment, ProcessingInstruction, CDATASection, EntityReference

Attr

代表属性

Text, EntityReference

Text

代表元素或属性中的文本内容。

None

CDATASection

代表文档中的 CDATA 部分(不会由解析器解析的文本)。

None

EntityReference

代表实体引用。

Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference

Entity

代表实体。

Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference

ProcessingInstruction

代表处理指令。

None

Comment

代表注释。

None

Document

代表整个文档(DOM 树的根节点)。

Element, ProcessingInstruction, Comment, DocumentType

DocumentType

向为文档定义的实体提供接口

None

DocumentFragment

代表轻量级的 Document 对象,能够容纳文档的某个部分

Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference

Notation

代表 DTD 中声明的符号。

None

Dojo初探之3&colon;dojo的DOM操作、query操作和domConstruct元素位置操作(基于dojo1&period;11&period;2版本)

前言: 前面两章讲了dojo的基本规范和配置,当然这个配置不是必须的,当你有这需求的时候就可以用到dojo的config配置. dojo的所有js都是符合AMD规范进行异步加载的:http://blo ...

事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流

一.事件冒泡定义 事件冒泡是指在一个对象触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那 ...

jQuery-对标签元素 文本操作-属性操作-文档的操作

一.对标签元素文本操作 1.1 对标签中内容的操作 // js var div1 = document.getElementById("div1"); div1.innerText ...

Selenium下拉菜单&lpar;Select&rpar;的操作-----Selenium快速入门(五)

对于一般元素的操作,我们只要掌握本系列的第二,三章即可大致足够.对于下拉菜单(Select)的操作,Selenium有专门的类Select进行处理.文档地址为:http://seleniumhq.gi ...

事件委托,元素节点操作,todolist计划列表实例

一. 事件委托 事件委托就是利用冒泡的原理,把事件加到父级上,来代替子集执行相应的操作,事件委托首先可以极大减少事件绑定次数,提高性能:其次可以让新加入的子元素也可以拥有相同的操作. 比如有20个&l ...

selenium常用操作,查找元素,操作Cookie,获取截图,获取窗口信息,切换,执行js代码

目录: 1. 常用操作 2. 查找元素 3. 操作Cookie 4. 获取截图 5. 获取窗口信息 6. 切换 7. 执行JS代码 简介 selenium.webdriver.remote.webdr ...

selenium 显示等待wait&period;until 常用封装 及下拉框的选择操作等

from selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWait a ...

迭代器&colon;遍历集合元素的操作&period; iterator&lpar;&rpar;

package seday11; import java.util.ArrayList;import java.util.Collection;import java.util.Iterator; / ...

centos 6x系统下源码安装mysql操作记录

在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配.可以通过源 ...

随机推荐

&lbrack;LeetCode&rsqb; Search a 2D Matrix II 搜索一个二维矩阵之二

Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...

iOS工作小技巧及填坑记录

以下是本人在iOS开发工作中使用的一些小技巧,记录一下. 1.使用XXX.pch文件便捷开发+加速Build 在IOS开发的项目中有一个XX_Prefix.pch XX_Prefix.pch:扩展名. ...

iOS 关于iOS开发中的delegate

有A.B两个对象,A要完成某件事,想让B帮它做. 这时候,A中就要实例化一个B的对象b,A还要在头文件中声明协议,然后在B中实现协议中对应的方法. 这时候再把A的delegate设置为b,在需要的地方 ...

java的一段对象数据类型映射的代码

try { List listGateInfoPO = majorGateReaderService.queryForAggregateBy( chapter); ...

2016年10月18日 星期二 --出埃及记 Exodus 19&colon;2

2016年10月18日 星期二 --出埃及记 Exodus 19:2 After they set out from Rephidim, they entered the Desert of Sina ...

android脚步---UI界面修改,关于activity中增加按钮和监听

增加按钮和监听,这个和上个不同在于,它不是在一个dialog里面,而是从新写了一个activity,因此需要先找到这个activity的入口. case R.id.checkframe: if (mC ...

css 样式重置

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, ...

Intellij IDEA编译代码出现红色标志

如图 原因:项目没有模块化加载 解决方法: 快捷键 Ctrl+Alt+Shift+S 进入 Project Structure 界面,选择 Modules --> Sources -->选 ...

REdis命令处理流程处理分析

分析版本:REdis-5.0.4. REdis命令处理流程可分解成三个独立的流程(不包括复制和持久化): 1) 接受连接请求流程: 2) 接收请求数据和处理请求流程,在这个过程并不会发送处理结果给Cl ...

pytest进阶

参考文章 使用 pytest pytest 这个 库是一个第三方库,严格来说,它的设计思路不属于 xUnit 系列.但它使用起来比较方便,同时他又兼容 unittest 的用例:用 unittest ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值