| 上一篇主題 :: 下一篇主題   | 
	
	
	
		| 發表人 | 
		內容 | 
	
	
		Patrick Wu
 
 
  註冊時間: 2007-01-03 文章: 228 來自: 台北市
  第 1 樓
  | 
		
			
				 發表於: 星期四 十一月 15, 2012 11:13 am    文章主題: oIE.Document.getElementByID("").Click() 有動作卻無法執行 | 
				     | 
			 
			
				
  | 
			 
			
				後學 寫了一個自動查詢 BR 航空公司的會員卡卡號 
 
最後一行出了一些狀況 程式如下: 
 
 
oIE = CREATEOBJECT("internetexplorer.application") 
 
oIE.Visible=.T. 
 
oIE.Width = SysMetric(1) &&&&& SYSMETRIC(1) Screen width 螢幕寬度 (2) Screen height. 螢幕高度 
 
oIE.Height = SysMetric(2) - SysMetric(9) - (SysMetric(13) * 2) &&&&& (9) => Height of window title (13) Height of DOUBLE or PANEL window frame 
 
oIE.NAVIGATE("https://eservice.evaair.com/Evaweb/EVA/FFP/membership-number-inquiry.aspx?lang=zh-tw") 
 
 
DO WHILE oIE.BUSY OR oIE.READYSTATE <> 4 
 
ENDDO 
 
 
oIE.Document.getElementById("nation").VALUE = "TW"
 
oIE.Document.getElementById("ctl00$ContentPlaceHolder1$txt_ID").VALUE = "N122438466"
 
oIE.Document.getElementById("ctl00$ContentPlaceHolder1$txt_birthYY").VALUE = "1963"
 
oIE.Document.getElementById("ctl00$ContentPlaceHolder1$ddl_birthMM").VALUE = "8"
 
oIE.Document.getElementById("ctl00$ContentPlaceHolder1$ddl_birthDD").VALUE = "25"
 
 
oIE.Document.getElementByID("ctl00$ContentPlaceHolder1$btn_ok").Click() &&& == >> 有動作卻無法執行 
 
 
煩請各先進 指導一下 
 
BR 航空各網頁(申請會員) 用此法是 OK 的   謝謝各先進
 
 
function of_ok() 內有一行是 : __doPostBackLocal('ctl00$ContentPlaceHolder1$btn_ok','');
 
 
不知需如何處理 謝謝 指教
   Patrick Wu 在 星期四 十一月 22, 2012 12:32 pm 作了第 1 次修改 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		elleryq
 
  
  註冊時間: 2007-06-21 文章: 768
 
  第 2 樓
  | 
		 | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		Patrick Wu
 
 
  註冊時間: 2007-01-03 文章: 228 來自: 台北市
  第 3 樓
  | 
		
			
				 發表於: 星期六 十一月 17, 2012 12:43 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| 謝謝 Elleryq 先進指導 後學試試先 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		Patrick Wu
 
 
  註冊時間: 2007-01-03 文章: 228 來自: 台北市
  第 4 樓
  | 
		
			
				 發表於: 星期一 十二月 10, 2012 11:04 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				謝謝 Elleryq 先進指導
 
前些天下雨 沒去騎車 後學就此程式 重新 TRY 了一下 
 
參入了 ("Wscript.Shell") 即可解決沒有動作的問題 方式如下 
 
供各先進指教 OR 有更有效的方式 煩請各先進教授 
 
 
THISFORM.VISIBLE = .F.
 
_SCREEN.WindowState = 1 
 
 
oWS = CreateObject("Wscript.Shell")
 
oIE = CreateObject("internetexplorer.application") 
 
oIE.TOP = 0
 
oIE.LEFT = 0
 
oIE.Visible=.T. 
 
oWS.AppActivate(oIE) &&& 要在 oIE.Visible=.T. 之後 SET FOCUS() TO oIE => oWS.SendKeys("{ENTER}") 才會在此 oIE 上
 
oIE.Width = SysMetric(1) &&& SYSMETRIC(1) Screen width 螢幕寬度 (2) Screen height. 螢幕高度 
 
oIE.Height = SysMetric(2) - SysMetric(9) - (SysMetric(13) * 2) &&& (9) => Height of window title (13) Height of DOUBLE or PANEL window frame 
 
oIE.NAVIGATE("https://eservice.evaair.com/Evaweb/EVA/FFP/membership-number-inquiry.aspx?lang=zh-tw") 
 
 
DO WHILE oIE.BUSY OR oIE.READYSTATE <> 4 
 
ENDDO 
 
 
oIE.Document.getElementById("nation").VALUE = "TW"
 
oIE.Document.getElementById("ctl00$ContentPlaceHolder1$hid_nation").VALUE = "TW"
 
 
DO CASE 
 
	CASE LEN(TRIM(PAX_CALL.PAX_IDE)) = 10 
 
		oIE.Document.getElementById("ctl00$ContentPlaceHolder1$txt_ID").VALUE = "身分證號碼"
 
		oIE.Document.getElementById("ContentPlaceHolder1_rbl_Item_0").Click() 
 
		oIE.Document.getElementById("ContentPlaceHolder1_rbl_Item_0").Focus()
 
	CASE LEN(TRIM(PAX_CALL.PAX_PPR)) = 09 
 
		oIE.Document.getElementById("ctl00$ContentPlaceHolder1$txt_Passport").VALUE = "護照號碼"
 
		oIE.Document.getElementById("ContentPlaceHolder1_rbl_Item_1").Click() 
 
		oIE.Document.getElementById("ContentPlaceHolder1_rbl_Item_1").Focus()
 
ENDCASE 
 
 
oIE.Document.getElementById("ctl00$ContentPlaceHolder1$txt_birthYY").VALUE = "YY"
 
oIE.Document.getElementById("ctl00$ContentPlaceHolder1$ddl_birthMM").VALUE = "MM"
 
oIE.Document.getElementById("ctl00$ContentPlaceHolder1$ddl_birthDD").VALUE = "DD"
 
 
************************************************************************************
 
oIE.Document.getElementById("ContentPlaceHolder1_rbl_Item_0").Focus()
 
oWS.SendKeys("{TAB}")
 
INKEY(01)
 
oWS.SendKeys("{ENTER}")
 
INKEY(01)
 
RELEASE oWS
 
 
DO WHILE oIE.BUSY OR oIE.READYSTATE <> 4 
 
ENDDO | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		 |