| 上一篇主題 :: 下一篇主題   | 
	
	
	
		| 發表人 | 
		內容 | 
	
	
		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 樓
  | 
		 | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		 |