|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 vbexcelhome 于 2019-10-15 21:50 编辑
XPath用来定位元素及其方便,但是VB的htmlfile对象不支持这个语法,所以写了这个模块,可以将定位路径转换成htmlfile元素对象,与大家分享一下。
模块:
模块_VBxpath1.rar
(3.84 KB, 下载次数: 122)
使用方法,将模块导入电子表格即可
VBxpath语法:路径用\分开,使用相对路径,不支持绝对路径,例如div[@id='CESHI']\span[@class='copy']
div[@id='CESHI']表示定位id为CESHI的div元素
使用这个模块,必须要先加载网页源码,加载方式有两种:
1、可以使用modVBpath.OpenURL (网址)
2、加载已经获得的网页源码,可以使用modVBpath.LOADouterHTML (网页源码)
获得网页表格内容两种方法(返回表格文本,用TAB分开,可以直接粘贴到电子表格)
1、modVBpath.GetTableText(表格编号)比如网页中有10个表,按编号
2、modVBpath.GetXpathTableText(vbXPATH语法)比如“TABLE[@ID='CESHI']”
。。。。
还有获得元素文本、属性等等
懒得打字了。直接上例子
例1:
获得论坛第一页所有帖子标题(实际上用论坛举这个例子不算好,只能将就一下了)
modVBpath.OpenURL "http://club.excelhome.net/forum-2-1.html"
Set Elements = modVBpath.GetXpathElements("table[@summary='forum_2']")
For Each Element In Elements
Debug.Print Element.innerText
Next
例2:
论坛有个求助贴,实际就是一个表处理(http://club.excelhome.net/thread-1502971-1-2.html)
获得表文本代码如下(这个可以直接写入剪贴板后粘贴):
modVBpath.OpenURL "https://xueqiu.com/S/SH601169"
Debug.Print modVBpath.GetTableText(0)
还可以获得二维表数据,自己再处理,代码:
modVBpath.OpenURL "https://xueqiu.com/S/SH601169"
arr=modVBpath.GetTableArrData(0)
这个arr是个二维数组结构,下标为0.
|
评分
-
1
查看全部评分
-
|