[問題] Internetexplorer.document.innertext

作者: Metal5566 (咩陀56)   2016-09-11 14:32:58
(若是和其他不同軟體互動之問題 請記得一併填寫)
軟體:
版本:excel office 2010
有用excel在網路抓取資料的需求,在網路上找的了這段code,但是把所有標籤抓下來之後在innertext 儲存格內會有script
另外有找到也是別人的檔案,code大同小異但他的innertext內就不會有script
網頁相關的知識比較薄弱,想請問一下為什麼會這樣,要怎麼解決
謝謝
作者:黄晨
链接: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
作者: waiter337 (給開司一罐蘇格登)   2016-09-11 21:29:00
一種方式 想辦法抓左邊第三個數字開始 通常左邊兩個空白 (看不見的)如果 你只是要查資料 那原始檔應該沒必要修改到時候用serch 查內部文字 應該就好了測試是否有隱藏空白的方式貼上純文字檔後,在上方輸入列,的第一個字左邊,按三下左然後打個1,接著按右看幾下才跳過去,那中間就是藏了幾個空白或者丟檔上來 等晚點在測試補充 那個空白 並不等於空白,所以,你也可以直接複製整個儲存格作參照
作者: Metal5566 (咩陀56)   2016-09-12 07:30:00
看了上面的做法不是很懂http://imgur.com/a/oGFYj 這是有問題的CODE和結果網頁是 http://www.oddsportal.com/然後進去賽事的頁面 有電視圖示的就是SCRIPT所在http://imgur.com/a/vNo3q 如圖我有問到是說 innertext 是把其下標籤的innertext也算所以TABLE標籤或甚麼的裡面會有SCRIPT標籤的INNERTEXT想知道怎麼避免不要抓到那段SCRIPT
作者: soyoso (我是耀宗)   2016-09-12 08:25:00
http://imgur.com/a/TYtKB 類似這樣測試上,上面無出現回文連結內所出現的資料http://imgur.com/a/8awxN以execwb的部分複製所見的網頁內容(文字、表格、超連結...),而非抓取原始碼的資料
作者: Metal5566 (咩陀56)   2016-09-12 14:14:00
http://imgur.com/a/fXV5L 錯誤的是.document.body.inn......那行 弄了很久不知道為甚麼會這樣 元素不給改嗎?也都有引用MS INTERNETCONTROL 和ms html library
作者: soyoso (我是耀宗)   2016-09-12 14:55:00
https://youtu.be/MCzc3s2fKY4 測試上無出現回文的錯誤也無引用回文的二個項目 http://imgur.com/a/Q8OPC執行未出現錯誤424,另一處出現http://imgur.com/a/QNq63
作者: Metal5566 (咩陀56)   2016-09-12 17:19:00
好的 再次感謝 我再找第三台電腦試試
作者: waiter337 (給開司一罐蘇格登)   2016-09-13 02:34:00
作者: soyoso (我是耀宗)   2016-09-13 08:56:00
原本測試ie版本為ie8是可行的,到ie11時則會出現錯誤424http://imgur.com/a/9dRih 改為這樣測試於ie11則無出現錯誤,引用項目方面請勾選
作者: Metal5566 (咩陀56)   2016-09-13 09:35:00
謝謝你 ok了 沒想到是ie的關係 想知道為什麼要這樣設變數呢?
作者: soyoso (我是耀宗)   2016-09-13 10:08:00
因引用項目,所以將變數指定明確的型態
作者: waiter337 (給開司一罐蘇格登)   2016-09-13 13:16:00
已跪

Links booklink

Contact Us: admin [ a t ] ucptt.com