※ [本文转录自 Office 看板 #1NrFgTDP ]
作者: Metal5566 (咩陀56) 看板: Office
标题: [问题] Internetexplorer.document.innertext
时间: Sun Sep 11 14:32:58 2016
(若是和其他不同软件互动之问题 请记得一并填写)
软件:
版本:excel office 2010
已新增内容
http://imgur.com/a/oGFYj 这是有问题的CODE和结果
网页是 http://www.oddsportal.com/
然后进去赛事的页面 有电视图示的就是SCRIPT所在
http://imgur.com/a/vNo3q 如图
我有问到是说 innertext 是把其下标签的innertext也算
所以TABLE标签或什么的里面会有SCRIPT标签的INNERTEXT
想知道怎么避免不要抓到那段SCRIPT
有用excel在网络抓取资料的需求,在网络上找的了这段code,但是把所有标签抓下来之后在innertext 储存格内会有script
另外有找到也是别人的档案,code大同小异但他的innertext内就不会有script
vba是看书自学的,网页相关的知识也比较薄弱,想请问一下为什么会这样,要怎么解决
谢谢
作者:黄晨
链接:https://www.zhihu.com/question/20460385/answer/71447219
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
Sub getPageInfo()
With CreateObject("internetexplorer.application")
.Visible = True
.Navigate [URL]
While .ReadyState <> 4 Or .Busy
DoEvents
Wend
Set dmt = .Document
For i = 0 To dmt.all.Length - 1
Set htMent = dmt.all(i)
With ActiveSheet
.Cells(i + 2, "A") = htMent.tagName
.Cells(i + 2, "B") = TypeName(htMent)
.Cells(i + 2, "C") = htMent.ID
.Cells(i + 2, "D") = htMent.Name
.Cells(i + 2, "E") = htMent.Value
.Cells(i + 2, "F") = htMent.Text
.Cells(i + 2, "G") = htMent.innerText
End With
Next i
Set r = Nothing
.Quit
End With
MsgBox "获取页面信息成功!"
End Sub