上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
q12w67
註冊時間: 2012-05-02 文章: 11
第 1 樓
|
發表於: 星期三 五月 02, 2012 10:44 am 文章主題: 請教有關使用ole調用ie的問題 |
|
|
目前使用的相關程式碼如下
oIE.Navigate("網址")
Do While oIE.busy .Or. oIE.ReadyState # 4
WAIT WIND "讀取中" NOWAIT
Enddo
oIE.Document.Body.innerHTML
但是這個作法當網頁下載不完全時
該有的html的tag還是會出現
例如
oIE.Document.Body.outerHTML
這樣的取法時,在最後結果依然會加上</body>
但其實內容是不完整的
請教是否有較正確的html原始碼取法 |
|
回頂端 |
|
 |
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 2 樓
|
發表於: 星期四 五月 03, 2012 9:48 am 文章主題: |
|
|
是每次都不完整?
或
偶爾不完整? |
|
回頂端 |
|
 |
q12w67
註冊時間: 2012-05-02 文章: 11
第 3 樓
|
發表於: 星期四 五月 03, 2012 10:35 am 文章主題: |
|
|
ckp6250 寫到: | 是每次都不完整?
或
偶爾不完整? |
不好意思,沒有說明完整
當對方主機不擁塞的時候會完整取得原始碼
但對方主機忙碌的時候,就會有很高的機率取得不完整的原始碼 |
|
回頂端 |
|
 |
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 4 樓
|
發表於: 星期四 五月 03, 2012 12:01 pm 文章主題: |
|
|
用 oIE.Document.DocumentElement.OuterHtml
來取代
oIE.Document.Body.innerHTML
試看看 |
|
回頂端 |
|
 |
q12w67
註冊時間: 2012-05-02 文章: 11
第 5 樓
|
發表於: 星期五 五月 04, 2012 8:04 am 文章主題: |
|
|
ckp6250 寫到: | 用 oIE.Document.DocumentElement.OuterHtml
來取代
oIE.Document.Body.innerHTML
試看看 |
抱歉這麼晚才回文
小弟試了一下,這個取法也一樣會取得不完整的內容
中間的內容不完整
但最後卻會出現</html>的tag
小弟猜測
是否是使用Document的取法都會自動補上開始及結束的tag呢 |
|
回頂端 |
|
 |
elleryq

註冊時間: 2007-06-21 文章: 768
第 6 樓
|
|
回頂端 |
|
 |
q12w67
註冊時間: 2012-05-02 文章: 11
第 7 樓
|
發表於: 星期五 五月 04, 2012 7:40 pm 文章主題: |
|
|
謝謝您提供的方法
不過是否有方法可以採ole調用ie的方式
抓到不經修飾的html原始碼呢 |
|
回頂端 |
|
 |
violetlkk
註冊時間: 2003-06-21 文章: 84 來自: kaohsiung
第 8 樓
|
發表於: 星期一 五月 07, 2012 5:08 pm 文章主題: |
|
|
>當對方主機不擁塞的時候會完整取得原始碼
>但對方主機忙碌的時候,就會有很高的機率取得不完整的原始碼
if len(當取得html) < 變數
重抓
endif |
|
回頂端 |
|
 |
q12w67
註冊時間: 2012-05-02 文章: 11
第 9 樓
|
發表於: 星期一 五月 07, 2012 8:42 pm 文章主題: |
|
|
violetlkk 寫到: | >當對方主機不擁塞的時候會完整取得原始碼
>但對方主機忙碌的時候,就會有很高的機率取得不完整的原始碼
if len(當取得html) < 變數
重抓
endif |
如果這個網頁的行數會不定時變動的話
len的方式就會變的判斷不準確
因為對方主機忙碌時取回來的原始碼
有時候是幾十行,有時候幾百行也說不定 |
|
回頂端 |
|
 |
ericklin
註冊時間: 2007-11-14 文章: 107 來自: 台中市
第 10 樓
|
發表於: 星期二 五月 08, 2012 1:17 am 文章主題: |
|
|
weB.document.readystate<>"complete" or thisform.weB.readyState<>4
我用這樣做 ie的資料傳送完成判斷 還沒出過什問題
您參考用看看 |
|
回頂端 |
|
 |
q12w67
註冊時間: 2012-05-02 文章: 11
第 11 樓
|
發表於: 星期四 五月 24, 2012 9:05 am 文章主題: |
|
|
ericklin 寫到: | weB.document.readystate<>"complete" or thisform.weB.readyState<>4
我用這樣做 ie的資料傳送完成判斷 還沒出過什問題
您參考用看看 |
感謝回覆
不過有測了一下,好像一樣會有問題
晚點小弟會弄個可以自動產生讀取中斷的html提供測試 |
|
回頂端 |
|
 |
q12w67
註冊時間: 2012-05-02 文章: 11
第 12 樓
|
|
回頂端 |
|
 |
ericklin
註冊時間: 2007-11-14 文章: 107 來自: 台中市
第 13 樓
|
發表於: 星期五 五月 25, 2012 9:53 pm 文章主題: |
|
|
當下載中 thisform.weB.readyState = 3
判斷一下不就好了 |
|
回頂端 |
|
 |
q12w67
註冊時間: 2012-05-02 文章: 11
第 14 樓
|
發表於: 星期二 五月 29, 2012 10:51 am 文章主題: |
|
|
ericklin 寫到: | 當下載中 thisform.weB.readyState = 3
判斷一下不就好了 |
感謝ericklin大大的回覆
但是thisform.weB.readyState<>4的條件的話
就已經包括thisform.weB.readyState = 3 了不是 |
|
回頂端 |
|
 |
elleryq

註冊時間: 2007-06-21 文章: 768
第 15 樓
|
|
回頂端 |
|
 |
|