欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Excel網(wǎng)頁(yè)分析不求人附分析工具實(shí)例
IE對象精確定位 附分析工具
作者 ExcelHome -ldy  轉載請保留 此文的全部或部分歡迎貼在網(wǎng)頁(yè)上,但要印在紙上,我會(huì )上門(mén)要版權
http://club.excelhome.net/viewthread.php?tid=377077&page=1
這個(gè)自編的小工具,代碼簡(jiǎn)單,但卻能幫助你編寫(xiě)出高效的網(wǎng)頁(yè)填寫(xiě)、提交、讀取的代碼。
如果你只會(huì )用 EXCEL的導入WEB查詢(xún),恭喜你,你算是抄上了。
如果你還在用 for  i  = 0 to WebBrowser1.Document.all.length - 1
                    if  WebBrowser1.Document.all(i).xxxx = yyyy  then
                           do some thing……………………
                    end if
             next
這樣的句式 來(lái) 倒騰網(wǎng)頁(yè)的話(huà),那么恭喜你了,你的代碼有機會(huì )精簡(jiǎn) 提速了。
如果你抄來(lái)個(gè)代碼 WebBrowser1.Document.all('submit').click 在一個(gè)網(wǎng)頁(yè)可以順利提交
換一個(gè)網(wǎng)頁(yè)就不管用了,你為此而郁悶不已,甚至懷疑自己的“人品”有問(wèn)題。 那么你可以放心了。你的人品很好
這個(gè)小工具可以為你分憂(yōu)了。
如果你在用察看源文件的方法 分析網(wǎng)頁(yè)的話(huà),也得恭喜你,太費眼了,注意保護視力。
如果你都用 XMLHTTP 對象處理網(wǎng)頁(yè)了,也不妨看看,畢竟XMLHTTP 處理某些網(wǎng)頁(yè)時(shí)很痛苦,用IE雖然慢一些,但通用性好
代碼編寫(xiě)也容易些。
如果這些你都會(huì )………,歡迎補充

回到正題
編寫(xiě)網(wǎng)頁(yè)的語(yǔ)言很多,語(yǔ)法各異,我們都要去了解,那不可能。IE了解就行了。不管用啥語(yǔ)言編的,IE全都把它裝到Document
里頭去,我們只要對Document對象分析就好了。
先看看這個(gè),這是我給龍貴人(咱們的前任版主Long_III,現榮升貴賓)寫(xiě)的一段話(huà),應該對大家有幫助,
WebBrowser控件或IE瀏覽器的Document對象其實(shí)就是一個(gè)大集合,里面按類(lèi)別分為N多個(gè)子集合。
所有集合都可以同過(guò)名稱(chēng)或序號引用,并且各個(gè)集合間都有交叉包含的關(guān)系。
如果把Document對象 看作一個(gè)公司,如果要把這公司的人員分類(lèi),可以分出N多種
比如 姓名、工號(1 到10 ) 、性別(2組-男女)、體型(3組,胖、瘦、適中)、性格(N組)、血型(N組)
籍貫、婚否、等等.  如果想指定一個(gè)人 可以按姓名、工號 指定。也可以按分類(lèi)中的序號指定 ,
最胖的人就是 set mm = 公司.體型(“胖”)(1)
最胖的人也可以是 set mm = 公司.工號(23)  '交叉
也可以是 set  mm = 公司.all.(368) '包含 通過(guò)所有分類(lèi)的順序查找,即使公司中只有幾個(gè)人,也可能分成上百個(gè)順序。
這個(gè)比喻是我自己的理解,要闡述清楚不太容易,況且同樣類(lèi)型的對象,在不同網(wǎng)頁(yè)上,有些屬性 甲網(wǎng)頁(yè)的有,乙網(wǎng)頁(yè)的就不一定有。
要從一個(gè)陌生的網(wǎng)頁(yè)上獲取數據,也只能通過(guò)這個(gè)理解,用對象瀏覽器,或自編個(gè)程序去分析,否則也不會(huì )知道
Set dmt = myIE.Document.all.tags('table')(13)  這里的序號13 就是需要的對象。
希望這點(diǎn)東西 對龍兄有所幫助。
概念 1 Document 是對象 ,也是個(gè)大集合,集合的特點(diǎn)就是可以通過(guò)序號引用也可以通過(guò) 名稱(chēng)引用 就像 SHEETS(1) 和
SHEETS('sheet1') 一樣。
概念 2 Document 大集合中每一個(gè)東西(專(zhuān)家稱(chēng)那個(gè)為元素、節點(diǎn))也都是對象
      for  i  = 0 to WebBrowser1.Document.all.length - 1 ' 你可以用一個(gè)Variant 變量把它們 set 一個(gè)遍
           set  T = WebBrowser1.Document.all(i)
      next
而不會(huì )報錯,這點(diǎn)好!對不了解的對象可以用Variant 去 SET 后可以在本地窗口中查看有那些屬性
常用到的屬性
你看到分析表里列出如下屬性,這是分析網(wǎng)頁(yè)經(jīng)常要用到的。
tagName、typename()、ID、Name、Value、Text、innerText、outertext、nameProp、tagUrn、sourceIndex、href
比較細的介紹寫(xiě)在批注里,還有一個(gè)附表,這里簡(jiǎn)單介紹一下。
tagName相當于VBA中的類(lèi)名稱(chēng)
typename()這個(gè)是VBA的函數,用于查看 WebBrowser1.Document.all(i)在VBA中到底叫啥 也就是該如何寫(xiě)DIM 語(yǔ)句
通常都是這樣的 HTMLCommentElement HTMLHtmlElement 大部分以 HTML開(kāi)頭
ID 和 Name : 查了百度 有個(gè)說(shuō)法 ID是網(wǎng)景公司用的 Name 是微軟IE用的。先別管這個(gè)說(shuō)法對錯。在VBA窗體里 Name值是唯一的
在網(wǎng)頁(yè)上Name是可以有重名的,ID也是可以重名的,但這種情況比Name重名的情況少很多。
如果用Name 或 ID 值是唯一的這個(gè)慣性思維去處理網(wǎng)頁(yè)的話(huà),你會(huì )很郁悶。
要和VBA窗體中的控件屬性比較的話(huà),網(wǎng)頁(yè)上的 ID相當于 VBA中的 Name(注意:ID也允許重名,但碰到的機會(huì )很少)
,網(wǎng)頁(yè)上的Name 相當于 VBA 中的Caption
在VBA窗體上畫(huà)10 個(gè)按鈕必須有10個(gè)不同的Name。但你可以把10個(gè)按鈕的Caption 值都改為CommandButton1
不是每一個(gè)對象都有 ID 或 Name ,ID 和 Name之間也沒(méi)有必然的聯(lián)系。
有ID 或 Name 的對象好辦 假設ID 值為 'ID_bottom'  
那么 set  T = WebBrowser1.Document.all('ID_bottom')
假設 Name 值為 'Nm_bottom'  
那么 set  T = WebBrowser1.Document.all('Nm_bottom')
嗯?沒(méi)搞錯吧 一個(gè)是 ID 一個(gè)是 Name 用一樣的 語(yǔ)句????!
對啊。集合的默認屬性是Item,我懶,給省了,寫(xiě)全了是 set  T = WebBrowser1.Document.all.Item('Nm_bottom')
……………………………好像答非所問(wèn),啊是吧。
這樣吧,在代碼窗口中引用  Microsoft HTML Object Library ,然后寫(xiě) Dim dmt As HTMLDocument
再寫(xiě) dmt.g  后面跟著(zhù)個(gè)列表 getElementsByID  getElementsByName   getElementsByTagName ……………
先看 兩個(gè)函數  getElementsByID getElementsByName 即使你的英文比我還爛 也能猜出來(lái) 一個(gè)是用ID 一個(gè)是用Name 來(lái)獲取對象
再用對象瀏覽器(F2鍵進(jìn)入)看看其原型
Function getElementsByID(v As String) As IHTMLElementCollection
Function getElementsByName(v As String) As IHTMLElementCollection
這兩個(gè)都是用字符串 返回一個(gè)集合,即使ID 或Name是唯一的。要引用的話(huà) 必須加序號 。而且參數 V 必不可少。
set T = dmt.getElementsByID('submit')(0)
再來(lái)看看 dmt.all(  剛打上個(gè)左括號 就出來(lái)個(gè)小提示標簽  item([name],[index]) as objct
寫(xiě)過(guò)代碼、用過(guò)函數的你 肯定明白 有方括號的參數是可選的,參數后面沒(méi)有指明 類(lèi)型(as xxx)說(shuō)明可以接受Variant(變體)
name index 這兩個(gè)單詞還好我都認得 名稱(chēng)(字符串) 和 序列(整數)
那這樣 dmt.all() 的括號里 就有4 種 排列組合
1 都不寫(xiě) set T = dmt.all()  或括號都省了 set T = dmt.all 取得大集合 拿咱家VBA版來(lái)說(shuō),有兩千多個(gè)項目
2 只寫(xiě) name 參數 set T = dmt.all('submit') , 注意別讓name的參數名把你給忽悠了,此name可不是專(zhuān)指 頁(yè)面上的Name屬性
  ID屬性 也一樣接受。這樣一看 ID 和 Name 倒更像 名 和 字 的關(guān)系  關(guān) 羽(名ID) 關(guān)云長(cháng)(字Name)
  這個(gè)時(shí)候 T 是什么? 那要看頁(yè)面上有幾個(gè) ID 或 Name 是 “submit”的對象了。只有一個(gè), T 就是單一對象,
  如不止一個(gè) T還是一個(gè)集合,想要干點(diǎn)什么 就得  T(0).xxxx
3 只寫(xiě) index 參數 set T = dmt.all(326) index參數取得是頁(yè)面上的 sourceIndex 屬性,一個(gè)整數,返回唯一對象。
  那第一次分析確定了sourceIndex屬性后,那就可以每次都用它了? 這個(gè)sourceIndex可不靠譜,靜態(tài)頁(yè)面還行,大部分頁(yè)面
  在刷新后頁(yè)面會(huì )有細微變化,看起來(lái)似乎一樣,但多了些空節點(diǎn),dmt.all.length 都會(huì )不同,這個(gè)原因有很多,有偶然的有故意的
  再 set T = dmt.all(326) 很可能就不是你想要的那個(gè)對象了。
4 兩個(gè) 參數都寫(xiě) set T = dmt.all('submit',1)  效果等于 set T = dmt.all('submit')(1)
  取得唯一對象,既第2個(gè)ID 或 Name為 'submit'的對象 (第一個(gè)是0)
  比較常見(jiàn)的是后一種寫(xiě)法,前者 一步到位 要第2個(gè)submit , 后者是分兩步走 要一堆submit中的第2個(gè)
  從語(yǔ)法結構上說(shuō),前者要快于后者,但這點(diǎn)差異和網(wǎng)絡(luò )的反應速度相比,根本不算什么。
   set T = dmt.all.submit(1) 注意:不是字符串,當然這樣通過(guò)編譯器直接調用是最快的,但失去了代碼的靈活性
小節一下 dmt.all(xx,yy) 的作用 包含了 getElementsByID getElementsByName 這兩個(gè)函數的作用,但更傻瓜化,
實(shí)為倒騰網(wǎng)頁(yè),獲取數據的必備良藥
慢著(zhù)慢著(zhù),剛剛還看到個(gè) getElementsByTagName 函數,在對象瀏覽器里看到它的函數原型
Function getElementsByTagName(v As String) As IHTMLElementCollection
也就是通過(guò)TagName獲取對象集合,那有沒(méi)有和 getElementsByID getElementsByName 一樣的的傻瓜化的寫(xiě)法?
有啊。
都看到這了,頂吧,不頂夠意思[em07]
續下 附件在后面

[ 本帖最后由 ldy 于 2008-12-7 10:54 編輯 ]

補充內容 (2014-11-5 04:20):
.....
分享到新浪微博
倒序瀏覽 共有1020條回復
  • 2樓ldy 2008-12-5 10:45
dmt.all.tags('table')
這個(gè)tags也有函數原型
Function tags(tagName) As object
看它的返回值就知道 它也傻,但它只有一個(gè)參數,所以傻不過(guò) dmt.all(xx,yy)
Sheet1.Pictures(2).Left = 0   這句代碼你如果能理解,可以跳過(guò)下面這一段
為了方便理解 先回到工作表界面
新建一個(gè)工作簿 在sheet1上畫(huà)一個(gè)按鈕 然后通過(guò)菜單欄插入隨便 2到3幅圖片
如果想通過(guò)代碼移動(dòng)第二幅圖片到最左邊 常用得寫(xiě)法 有以下4種
[圖片 1].left = 0 或 Evaluate('圖片 1').left = 0 或 Shapes('圖片 1').left = 0
或 Shapes(3).left = 0 (Shapes(1)是先畫(huà)的那個(gè)按鈕 )
但 Pictures(2).Left = 0 也是一樣。 Pictures是隱藏的方法、屬性 表示所有插入的圖片,并可用序號表示單一的圖片
同樣 先畫(huà)上去的“按鈕 1”也可以用 Buttons(1) 來(lái)表示,類(lèi)似的隱藏的方法屬性還有不少,可以通過(guò)對象瀏覽器查看
Picture, Button 就相當于TagName 不過(guò)在網(wǎng)頁(yè)上叫法有點(diǎn)不一樣: FORM IMG INPUT A B DIV FONT TABLE 等等
表達方式 通過(guò)tags 來(lái)引用 dmt.all.tags('INPUT')(0).TEXT = 'ldy' 在第一個(gè)個(gè)輸入框里輸入用戶(hù)名
網(wǎng)頁(yè)的序號從 0 算起 ,這個(gè)跟工作表從1 算起有點(diǎn)不同
Value、Text、innertext、outertext
對象的文字,根據類(lèi)型反映在不同的屬性
如果要填寫(xiě)頁(yè)面,在輸入框里輸入類(lèi)似 11111111
AAAAAA  BBBBBBBB   88888888888888 這樣的字
然后再全部分析,再在 分析 表里查找,很容易就能定位那些輸入框的 名稱(chēng),
這樣就能確定到底是用 T.value= 'ldy'  還是用 T.text= 'ldy'
nameProp    通常用來(lái)表示子路徑
sourceIndex  對象在網(wǎng)頁(yè)中唯一序號。
Set T = dmt.all(123)
但用這個(gè)序號固定寫(xiě)入程序里太不靠譜。
每次刷新都可能不同。某些網(wǎng)頁(yè)甚至會(huì )插入不少的空節點(diǎn),來(lái)打亂原來(lái)的序號
(用這種方法來(lái)防止代碼讀取頁(yè)面資料,不過(guò)對于本文讀者來(lái)說(shuō),哈哈哈。。。)
href     對象鏈接的完整路徑。
分析網(wǎng)頁(yè)常用的屬性 也差不多了,還可以用parentElement 取得上級對象 用 children  childNodes取得下級對象
dmt.all(xx,yy)  和 dmt.all.tags(tagname)(index)  兩個(gè)語(yǔ)句已經(jīng)能夠從 序號 ID Name 類(lèi)型 4 個(gè)方面分析處理網(wǎng)頁(yè)上的所有對象了
通常在網(wǎng)頁(yè)上取值 也就是 對 Value、Text、innertext、outertext 這4個(gè)屬性取值
用 href 屬性來(lái)獲取鏈接地址
說(shuō)了這么多 那些tagname ID name 如何得到? 對啊 咱還有工具啊
介紹一下咱的小工具
工作原理就是把頁(yè)面上的所有對象都過(guò)一遍,把常用的屬性值顯示在工作表上。
說(shuō)穿了就是把本地窗口中看到的內容節選出來(lái),平面化顯示,便于分析
還可以進(jìn)一步細化 通過(guò)“指定 tags 分析” 可以選擇 只分析 “Table”
還可以 通過(guò)“指定ID、Name分析” 可以選擇 只分析 某個(gè)ID 或 名稱(chēng)
工作表上有ActiveCell, 頁(yè)面上同樣有activeElement 就是被點(diǎn)中(有焦點(diǎn))的的對象 可以通過(guò)“activeElement簡(jiǎn)介” 了解 ID 、Name
序號 和 類(lèi)型(tagname),如果是文本框直接點(diǎn)進(jìn)去就行,但如果是個(gè)按鈕或是個(gè)鏈接,點(diǎn)它的話(huà)會(huì )打開(kāi)鏈接
同時(shí)也就失去焦點(diǎn)了,這里操作上有個(gè)小技巧,不要用左鍵去點(diǎn),用右鍵點(diǎn),對于彈出的右鍵菜單不用理會(huì ),這樣既選中了按鈕,
又不會(huì )打開(kāi)鏈接。這時(shí)再去點(diǎn)擊“activeElement簡(jiǎn)介”按鈕 就會(huì )看到相關(guān)的信息, 這個(gè)對于填寫(xiě)、提交頁(yè)面非常有用
具體操作
在分析表中 點(diǎn)擊按鈕打開(kāi)窗體。
地址欄里是一個(gè) 百度股票行情的地址,就以此為例吧,直接按回車(chē)鍵 ,等頁(yè)面完全打開(kāi)。
點(diǎn) 全部分析 按鈕,大概等幾秒鐘吧,分析表上列出了700多行數據,在看看頁(yè)面上,內容很豐富,但我們想要的就是那張表格里的東西
700多行,那些是我需要的? 用EXCEL的查找功能 按 ctrl+f 調出查找框 輸入 在頁(yè)面表格上看到的任何一個(gè)股票名稱(chēng),然后逐一查找
你會(huì )發(fā)現很多單元格里都有這個(gè) 股票名稱(chēng) ,有些事一大堆文字包含很多無(wú)用信息,有些僅有這一只股票的全部信息,不全
1600301南化股份4.16 4.20  4.15 - 4.58 4.58 10.10% 30102 1365 10.34%  
看看它的 tagname --> 是 TR ,VBA的類(lèi)型是 HTMLTableRow,Row ??很熟悉啊 記住了以后有用,再看下一行的 VBA類(lèi)型
是 HTMLTableCell,Cell ?? 這個(gè)更熟悉了。
繼續查找,找到了這個(gè)單元格里有那個(gè)表上的的 列標題和全部?jì)热?,一點(diǎn)多余的東西都沒(méi)有,純的,哈哈就它了。
'序號代碼股票名稱(chēng)昨收盤(pán)今開(kāi)盤(pán)今低 - 今高當前價(jià)漲跌幅成交量金額振幅相關(guān)
1600301南化股份4.16 4.20  4.15 - 4.58 4.58 10.10% 30102 1365 10.34%  
2600844丹化科技13.52 13.83  13.72 - 14.87 14.87 9.99% 30357 4340 8.51%  
3600543莫高股份8.04 8.04  8.00 - 8.84 8.84 9.96% 40968 3560 10.45%  
4600070浙江富潤3.83 3.80  3.80 - 4.21 4.21 9.92% 28934 1179 10.70%  
5600452涪陵電力3.94 4.17  4.17 - 4.33 4.33 9.90% 15570 672 4.06%  
6600505西昌電力3.44 3.55  3.55 - 3.78 3.78 9.88% 34011 1282 6.69%  
7600208新湖中寶3.42 3.49  3.45 - 3.74 3.69 7.89% 314349 11239 8.48%  
8600285羚銳股份4.57 4.55  4.46 - 5.03 4.90 7.22% 101748 4889 12.47%  
9600088中視傳媒9.85 9.60  9.59 - 10.80 10.44 5.99% 92506 9614 12.28%  
10600739遼寧成大13.25 13.20  13.18 - 14.58 14.03 5.89% 301154 43172 10.57%  
11600425青松建化5.20 5.22  5.08 - 5.50 5.50 5.77% 22820 1214 8.08%  
12600251冠農股份25.23 25.29  25.29 - 27.37 26.62 5.51% 36248 9589 8.24%  
13600808馬鋼股份3.90 3.90  3.87 - 4.12 4.11 5.38% 190525 7677 6.41%  
14600021上海電力3.55 3.62  3.62 - 3.88 3.74 5.35% 101182 3822 7.32%  
15600382廣東明珠4.97 4.97  4.97 - 5.25 5.23 5.23% 34268 1764 5.63%  '
看看它的 tagname --> 是 TABLE ,VBA的類(lèi)型是 HTMLTable,Table ??不就是表格的意思嗎,但它的innertext中的數據全都緊貼在一起
如果編個(gè)自定義函數去拆分它,想著(zhù)就頭痛。剛才都'熟悉'兩回了,要是還沒(méi)有點(diǎn)聯(lián)想,唉。。。保重吧…………
現在用指定tags分析,看那網(wǎng)頁(yè)上有多少個(gè) table,點(diǎn)擊“清空分析結果”按鈕,在左邊第一個(gè)列表框里選中table,點(diǎn)擊指定tags分析
按鈕,這次很快,分析表上的2--7 行列出了6個(gè)table的信息中發(fā)現第 5 個(gè)就是所需要的table,在分析表的第6行
這里有一個(gè)簡(jiǎn)單的減法 ,用不著(zhù)從0數下來(lái), 所在行號-2 就是它在 集合里的序號 你要想把這個(gè) table set 到一個(gè) 變量里
就該這樣 set T = dmt.all.tags('table')(4)  這是分析完以后寫(xiě)道程序里的,現在還不用。
看看它的sourceIndex 是286(當前是,過(guò)幾分鐘或下次再打開(kāi)這個(gè)頁(yè)面就不一定是了,所以說(shuō)它 不靠譜,這個(gè)頁(yè)面會(huì )自動(dòng)刷新)
現在要用到“指定序號分析”了,看到這個(gè)按鈕了嗎? 下面有一個(gè)文本框,輸入286 點(diǎn)擊“指定序號分析”
這時(shí) 自動(dòng)切換到的代碼界面,要從本地窗口中看看這個(gè)T 都有什么東西了。
你沒(méi)有本地窗口??  你一定是初學(xué)者,那你太幸運了,要是我在初學(xué)VBA的時(shí)候能看到這樣一篇文章,估計我現在都會(huì )飛了。
別不好意思,我也是學(xué)VBA半年后才會(huì )在 代碼界面 的 視圖菜單 中找到用 本地窗口 的,又過(guò)了3個(gè)月才明白它的妙處。
本地窗口中 看到一個(gè) T 前面有個(gè)+號,點(diǎn)擊+號展開(kāi)………… 100 多個(gè)屬性,都是按字母順序排列的,先找熟悉的吧,
很快,看到個(gè) cells 屬性,前面也有個(gè)+號,點(diǎn)開(kāi),看到length屬性(相當于VBA中的count)=192,下面跟著(zhù) Item1到 Item192,
前面也都有個(gè)+號 。這個(gè)表 16行 12 列  16*12可不就等于 192,還是要編個(gè)函數去去拆分??
對了,還有個(gè)熟人 row,剛才cell 變cells 那row不會(huì )也變成 rows吧? 果然有個(gè)rows 點(diǎn)開(kāi)+號 length =16 剛好16 行,跟著(zhù)item1-16
點(diǎn)開(kāi)item1的+號,又是100多屬性,再次見(jiàn)到熟人,也有cells 點(diǎn)開(kāi)+號  length = 12 嘿嘿,剛好12列,跟著(zhù)item1-12 再點(diǎn)開(kāi) item1的+號
又是一堆屬性,怎么老是這么多屬性,看吧,……
看到 '序號'了 ,又看到'序號',又看到'序號',好幾個(gè)地方都寫(xiě)著(zhù)'序號',回頭瞄了一眼網(wǎng)頁(yè)上的那個(gè)表,第1行第1列 正是 '序號'
至此 這個(gè)table的中的有用數據是如何存放的 都搞清楚了,其他數據用兩個(gè)循環(huán)嵌套就像在工作表中取值一樣。一串簡(jiǎn)潔高效的代碼出現了
    Set dmt = WebBrowser1.Document
    Set R = dmt.all.tags('table')(4).Rows
    For i = 0 To R.Length - 1
        For j = 0 To R(i).Cells.Length - 1
            Sheet3.Cells(i + 1, j + 1) = R(i).Cells(j).innerText
        Next
    Next
我們分析出來(lái)dmt.all.tags('table')(4) 就是所需要的數據,百度是大公司,通常不會(huì )去改變這個(gè)結構。但如果是其他公司的網(wǎng)頁(yè),
可能會(huì )增加廣告、通知什么的,就有可能增加table的數量,今天 dmt.all.tags('table')(4) ,明天4就可能要改成5 或 6
對這種變化較頻繁的頁(yè)面,就要用循環(huán)判斷table的特征來(lái)確定到底是 4 還是 5 或 6  ,這樣可以延長(cháng)代碼的有效期。
像這個(gè)表可以用文字特征來(lái)判斷。
    Set dmt = WebBrowser1.Document
    for i = 0 to  dmt.all.tags('table').length - 1
        if  instr(dmt.all.tags('table')(i).innertext,'序號代碼股票名稱(chēng)') > 0 then x = i
    Next
    Set R = dmt.all.tags('table')(x).Rows
    For i = 0 To R.Length - 1
        For j = 0 To R(i).Cells.Length - 1
            Sheet3.Cells(i + 1, j + 1) = R(i).Cells(j).innerText
        Next
    Next' 在工具文件窗體上有這個(gè)例子
table 是網(wǎng)頁(yè)中的主要元素,幾乎每個(gè)網(wǎng)頁(yè)都有,刷新頁(yè)面總元素數量可能變化,但table的數量一般不會(huì )變。
對于網(wǎng)頁(yè)分析,沒(méi)有任何絕對的東西,上面這段代碼的有效期 取決于百度何時(shí)更改table的特征。比如那天百度瘋了,序號不叫序號
改叫名次,這是漲幅榜叫名次也沒(méi)錯,代碼 給加兩個(gè)字 叫 股票代碼, 股票名稱(chēng) 給減兩個(gè)字 叫名稱(chēng),那我們也只好修改判斷語(yǔ)句了。
最后 注意多Froms的網(wǎng)頁(yè),你需要的數據可能在其中一個(gè)Forms里,通過(guò)Set R = dmt.all(index) 不一定能取到值
這時(shí)需要 Set R = dmt.Forms(2).all(index) 其他的語(yǔ)法方法不變
寫(xiě)這些東西太累,暫時(shí)打住吧,一般的網(wǎng)頁(yè)通過(guò)上述這些方法可以無(wú)障礙的讀取操作了。

網(wǎng)頁(yè)分析工具.rar(53.56 KB)
(下載次數: 4415, 2008-12-5 11:01 上傳)



老的附件中有一些測試時(shí)的引用,并不起作用,在某些電腦上報錯,下面這個(gè)是修正過(guò)的。
網(wǎng)頁(yè)分析工具.rar(28.51 KB)
(下載次數: 7301, 2009-6-6 17:31 上傳)



附錄1 不彈出新窗口,在原窗口顯示頁(yè)面

  1. Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
  2.     Cancel = True
  3.     WebBrowser1.Navigate2 WebBrowser1.Document.activeElement.href
  4. End Sub
'    直接把WebBrowser的silent設置成true就沒(méi)有腳本錯誤提示了...
    WebBrowser1.Silent = True


最近很多壇友問(wèn)起網(wǎng)頁(yè)中框架的問(wèn)題,其實(shí)并不難,簡(jiǎn)單整理如下

關(guān)于多框架頁(yè)面的分析、引用
這個(gè)工具是個(gè)單頁(yè)面分析工具,對于嵌套的框架 分析結果以一個(gè) FRAME 對象表示
要對框架中的內容操作需要繼續分析,下面是幾個(gè)常用語(yǔ)法
L = WebBrowser1.Document.frames.length  '頁(yè)面中有幾個(gè)框架
set dmt1= WebBrowser1.Document.frames(0).Document '取得第一個(gè) 子框架的文檔對象
s = WebBrowser1.Document.frames(0).location '子框架的地址 相當于右鍵 單擊屬性
可以通過(guò)這個(gè)子網(wǎng)址 繼續分析。
分析后的完整引用語(yǔ)法: WebBrowser1.Document.frames(0).Document.all('input').value = 'ldy'



2009-7-18


百度的頁(yè)面已調整,

Private Sub UserForm_Initialize() 中的語(yǔ)句

TextBox40 = 'http://stock.baidu.com/cn/sort_all.php?sh_sz=0&isB=0&order=-10&PageNo=1'

請照此修改
TextBox40 ='http://baidu.hexun.com/stock/sort_all.php?sh_sz=0&isB=0'



[ 本帖最后由 ldy 于 2008-12-5 11:01 編輯 ]

[ 本帖最后由 ldy 于 2009-6-6 17:31 編輯 ]

[ 本帖最后由 ldy 于 2009-7-18 17:56 編輯 ]

[ 本帖最后由 ldy 于 2009-11-4 17:34 編輯 ]
  • 3樓ldy 2008-12-5 10:45
如果你所處理的網(wǎng)頁(yè),不能通過(guò)這個(gè)工具得到結論,歡迎跟帖討論

[ 本帖最后由 ldy 于 2008-12-5 18:44 編輯 ]
學(xué)習一下,真的不頂不讓看嗎?試試

感謝

感謝EXCELHOME,感謝IDY,,還要感謝winland、狼版主,還有其他-----,提供優(yōu)秀平臺,教程。

回復 1樓 ldy 的帖子

thanks! thank excelhome!
i want to study, so i must reply you
精華好帖,謝謝版主了。
正需要這方面的分析,感謝版主無(wú)私的分享。
  • 10樓kzb 2008-12-5 15:34
學(xué)習一下謝謝
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
HTML試題與答案
Delphi中WebBrowser的使用技巧匯總
XHTML教程——框架結構
網(wǎng)頁(yè)制作基礎教程-第5章 使用框架
如何使用FrontPage2003制作ASP動(dòng)態(tài)網(wǎng)頁(yè)
Dreamweaver 浮動(dòng)框架
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久