738
技術社區[雲棲]
碼棧開發手冊(四)---編碼方式開發(IE相關功能函數)
2.瀏覽器相關函數
2.1 J_IE_Create (鏈接地址,[嚐試抓取:否],[是否等待:是],[瀏覽器類型])
作用:創建一個IE窗口,返回一個窗口的對象
返回值:返回瀏覽器對象,用於後續操作
例子:
Func Example21()
;默認新建一個IE窗口並打開www.taobao.com鏈接,聲明一個名為$ie的局域變量,裝入這個新創建瀏覽器的對象
Local $ie = J_IE_Create("www.taobao.com")
;如果要用chrome打開
;Local $ie = J_IE_Create("www.taobao.com",default,default,default,'Chrome')
;左側文件名 控件名 操作類型 內容 瀏覽器對象
;聲明 $res1的一個局域變量,實現對於錄製的控件進行輸入文本“連衣裙”操作,並將執行的結果保存在這個變量中
Local $res1 = J_IE("淘寶網", "輸入框", "輸入", "連衣裙", $ie)
;判斷操作是否成功,如果輸入操作沒成功,$res1的值為0,操作成功$res1的值就是1
If $res1 = 0 Then
;信息提示窗口顯示提示信息給用戶"連衣裙輸入失敗"
J_MsgBox("連衣裙輸入失敗")
;結束本次判斷
EndIf
;聲明 $res1的一個局域變量,實現對於錄製的控件進行對控件“搜索”按鈕進行點擊操作,並將執行的結果保存在這個變量中
Local $res2 = J_IE("淘寶網", "搜索", "點擊", "", $ie)
;判斷操作是否成功,如果輸入操作沒成功,$res2的值為0,操作成功$res2的值就是1
If $res2 = 0 Then
;信息提示窗口顯示提示信息給用戶"搜索點擊失敗"
J_MsgBox("搜索點擊失敗")
;結束本次判斷
EndIf
;聲明 $text的一個局域變量,將$ie對應的瀏覽器對象獲取頁麵所有可見文本,並將其保存至此變量中
Local $text = J_IE_Text($ie)
;信息提示窗口顯示出變量$text中保存的全部文本
J_MsgBox($text)
EndFunc ;==>Example21
2.2.J_IE (MAP名稱,控件名稱,操作,[值],[目標窗口])
此函數需要配合碼棧控件抓取工具使用~
作用:
說明1 :對IE控件以及Windows控件進行一係列操作
IE操作: 點擊 模擬點擊 彈出框點擊 模擬彈出框點擊 模擬輸入 輸入
IE操作: 文件 保存文件 下拉 模煳下拉 正則下拉 獲取文本 獲取代碼 獲取坐標 獲取對象 獲取值 勾選 取消勾選 等待加載 是否勾選
IE操作: 注意獲取坐標返回的是一個長度為5的坐標數組[0]全部[1]x1[2]y1[3]x2[4]y2
WIN32操作: 點擊 模擬點擊 輸入 模擬輸入 移動 檢測窗口 關閉窗口 強行關閉窗口 獲取句柄
說明:如果是點擊按鈕後會有彈出框,那麼請用彈出框點擊
返回值:
當操作為:點擊、模擬點擊、彈出框點擊、模擬彈出框點擊、模擬輸入、輸入、文件、下拉、模煳下拉、正則下拉、勾選、取消勾選、檢測窗口、關閉窗口、強行關閉窗口的時候,成功返回1,失敗返回0
當操作為:獲取文本的時候返回值為控件文本
當操作位:獲取代碼的時候返回值為控件內部代碼
例子:
Func Example22()
;新建一個IE窗口並打開www.crm.admin.com鏈接,聲明一個名為$ie的局域變量,裝入這個新創建瀏覽器的對象
Local $ie = J_IE_Create("www.crm.admin.com")
;普通輸入操作,成功返回1,失敗返回0
Local $res1 = J_IE("CRM", "登錄輸入框", "輸入", "鏢頭", $ie)
;模擬鼠標鍵盤進行操作,成功返回1,失敗返回0
Local $res2 = J_IE("CRM", "密碼輸入框", "模擬輸入", "鏢頭", $ie)
;普通點擊按鈕操作,因為不需要輸入數據,所以值參數用“”表示不要輸入,成功返回1,失敗返回0
Local $res3 = J_IE("CRM", "登錄按鈕", "點擊", "", $ie)
;模擬鼠標點擊按鈕操作,因為不需要輸入數據,所以值參數用“”表示不要輸入,成功返回1,失敗返回0
Local $res4 = J_IE("CRM", "刷新", "模擬點擊", "", $ie)
;在顯示區域讀取裏麵可見文本,返回文本
Local $res5 = J_IE("CRM", "顯示區域", "獲取文本", "", $ie)
;獲取文本框用戶輸入的信息,返回文本
Local $res6 = J_IE("CRM", "輸入框", "獲取值", "", $ie)
;對於頁麵複選框進行勾選操作,成功返回1,失敗返回0
Local $res7 = J_IE("CRM", "複選框", "勾選", "", $ie)
;獲取頁麵勾選框的狀態,勾選狀態返回1,未勾選返回0
Local $res8 = J_IE("CRM", "複選框", "是否勾選", "", $ie)
;下拉列表操作,成功返回1,失敗返回0
Local $res9 = J_IE("CRM", "小二選擇", "下拉", "鏢頭", $ie)
;通過部分關鍵字進行下拉列表動作,成功返回1,失敗返回0
Local $res10 = J_IE("CRM", "小二選擇", "模煳下拉", "鏢", $ie)
;上傳文件控件操作,成功返回1失敗返回0
Local $res11 = J_IE("CRM", "文件按鈕", "文件", "D:\pic.jpg", $ie)
;等待刷新區域的刷新,刷新完畢返回1
Local $res12 = J_IE("CRM", "刷新區域", "等待加載", "", $ie)
;點擊頁麵上的控件會彈出提示框是否確認信息,本功能會自動化點擊彈出框的確認按鈕,成功返回1,失敗返回0
Local $res13 = J_IE("CRM", "提交", "彈出框點擊", "", $ie)
;模擬鼠標點擊頁麵上的控件會彈出提示框是否確認信息,本功能會自動化點擊彈出框的確認按鈕,成功返回1,失敗返回0
Local $res14 = J_IE("CRM", "提交", "模擬彈出框點擊", "", $ie)
;對WIN控件輸入,不需要指定窗體,成功返回1,失敗返回0
Local $res15 = J_IE("旺旺", "旺旺輸入框", "輸入", "你好")
;對WIN控件模擬鍵盤輸入操作,不需要指定窗體,成功返回1,失敗返回0
Local $res16 = J_IE("旺旺", "旺旺輸入框", "模擬輸入", "你好")
;對WIN控件點擊操作,不需要指定窗體,成功返回1,失敗返回0
Local $res17 = J_IE("旺旺", "發送按鈕", "點擊", "")
;對WIN控件模擬鼠標點擊操作,不需要指定窗體,成功返回1,失敗返回0
Local $res18 = J_IE("旺旺", "發送按鈕", "模擬點擊", "")
;獲取WIN控件句柄,成功返回控件句柄,失敗返回0
Local $res19 = J_IE("旺旺", "旺旺控件", "獲取句柄", "")
;關閉WIN控件所在的窗口,成功返回1,失敗返回0
Local $res20 = J_IE("旺旺", "旺旺控件", "關閉窗口", "")
;J_IE和J_IE_EXP的區別,前者是對頁麵唯一的控件進行操作,第二個是對頁麵多個相同的控件指定位置進行操作,其它功能完全相同
;比如下麵兩個功能是相同的
;普通輸入操作,成功返回1,失敗返回0
Local $res1 = J_IE("CRM", "登錄輸入框", "輸入", "鏢頭", $ie)
Local $res1 = J_IE_EXP("CRM", "登錄輸入框", 1, "輸入", "鏢頭", $ie);對第一個此屬性的控件進行操作
;聲明 $max的一個局域變量,在$ie變量中對應的瀏覽器頁麵中檢索,對應的控件相同屬性的在頁麵中一共有多少個,並保存至$max變量中
;一般情況下用於循環或者判斷
Local $max = J_IE_EXP_MaxCount($ie, "CRM", "登錄輸入框")
EndFunc ;==>Example22
2.3 J_IE_Close (窗口對象/窗口標題/窗口URL/窗口句柄)
作用:可以通過IE窗體的對象、標題、地址、甚至是句柄關閉IE窗口
返回值:成功1,失敗0
例子:
Func Example23()
;新建一個IE窗口並打開www.taobao.com鏈接,聲明一個名為$ie的局域變量,裝入這個新創建瀏覽器的對象
Local $ie = J_IE_Create("www.taobao.com")
;通過變量$ie中保存的瀏覽器對象進行關閉瀏覽器操作
J_IE_Close($ie)
;新建一個IE窗口並打開ju.taobao.com鏈接,聲明一個名為$ie的局域變量,裝入這個新創建瀏覽器的對象
Local $ie = J_IE_Create("ju.taobao.com")
;通過瀏覽器窗口標題"聚劃算"進行關閉瀏覽器操作
J_IE_Close("聚劃算")
EndFunc ;==>Example23
2.4 J_IE_Link(IE對象,鏈接地址,[是否等待:是])
作用:通過已知瀏覽器打開一個鏈接
返回值:瀏覽器對象
例子:
Func Example24()
;新建一個IE窗口並打開www.taobao.com鏈接,聲明一個名為$ie的局域變量,裝入這個新創建瀏覽器的對象
Local $ie = J_IE_Create("www.taobao.com")
;通過變量$ie中保存的瀏覽器對象所對應的瀏覽器打開新的鏈接地址ju.taobao.com
J_IE_Link($ie, "ju.taobao.com")
EndFunc ;==>Example24
2.5. J_IE_Back(瀏覽器對象)
作用:瀏覽器執行後退動作
返回值:成功返回1,失敗返回0
例子:
Func Example43()
;聲明一個居於變量,保存通過鏈接地址定位的瀏覽器對象
Local $ie = J_IE_Catch("taobao.com", "地址")
;在瀏覽器中實現點擊女裝類目操作
J_IE("淘寶網", "女裝類目", "點擊", "", $ie)
;頁麵刷新後實現,瀏覽器後退功能
J_IE_Back($ie)
EndFunc ;==>Example43
2.6 J_IE_Text(IE對象)
作用:獲得IE瀏覽器上的全部文本
返回值:獲得IE瀏覽器上的全部文本
例子:
Func Example25()
;新建一個IE窗口並打開www.crm.admin.com鏈接,聲明一個名為$ie的局域變量,裝入這個新創建瀏覽器的對象
Local $ie = J_IE_Create("www.taobao.com")
;聲明 $text的一個局域變量,將$ie對應的瀏覽器對象獲取頁麵所有可見文本,並將其保存至此變量中
Local $text = J_IE_Text($ie)
;信息提示窗口顯示出變量$text中保存的全部文本
J_MsgBox($text)
EndFunc ;==>Example25
2.7 J_IE_Html(IE對象)
作用:獲得IE瀏覽器上的全部Html代碼
返回值:IE瀏覽器上的全部Html代碼
例子:
Func Example26()
;新建一個IE窗口並打開www.crm.admin.com鏈接,聲明一個名為$ie的局域變量,裝入這個新創建瀏覽器的對象
Local $ie = J_IE_Create("www.taobao.com")
;聲明 $html的一個局域變量,獲取$ie對應的瀏覽器對象獲取頁麵所有渲染的代碼,並將其保存至此變量中
Local $html = J_IE_Html($ie)
;信息提示窗口顯示出變量$text中保存的全部文本
J_MsgBox($html)
EndFunc ;==>Example26
2.8 J_IE_Catch(字符串,抓取模式)
作用:捕獲已打開的瀏覽器對象 模式為:標題 地址 子窗口
返回值:成功返回瀏覽器對象,失敗返回0
例子:
Func Example27()
;聲明一個名為$ie的局域變量,將通過瀏覽器窗口標題“淘寶網”獲取瀏覽器對象保存這個變量中
Local $ie = J_IE_Catch("淘寶網", "標題")
;聲明一個名為$ie2的局域變量,將通過瀏覽器URL地址www.taobao.com獲取瀏覽器對象保存這個變量中
Local $ie2 = J_IE_Catch("www.taobao.com", "地址")
;如果要抓chrome瀏覽器對象:注意,catch的窗口必須是通過程序打開出來的chrome窗口,可以用J_IE_Create
local $ie3 = J_IE_Catch("www.taobao.com","地址","Chrome")
EndFunc ;==>Example27
2.9 J_IE_EXP (MAP名稱,控件名稱,位置=1,操作,[值],[目標窗口])
說明1 :對正則IE控件進行一係列操作
操作:點擊 模擬點擊 彈出框點擊 模擬彈出框點擊 模擬輸入 輸入
操作:文件 下拉 模煳下拉 正則下拉 獲取文本 獲取代碼
操作: 獲取對象 獲取值 勾選 取消勾選 等待加載
操作:如果是WIN32控件:檢測窗口 關閉窗口 強行關閉窗口
說明:如果是點擊按鈕後會有彈出框,那麼請用彈出框點擊
返回值:
當操作為:點擊、模擬點擊、彈出框點擊、模擬彈出框點擊、模擬輸入、輸入、文件、下拉、模煳下拉、正則下拉、勾選、取消勾選、檢測窗口、關閉窗口、強行關閉窗口的時候,成功返回1,失敗返回0
當操作為:獲取文本的時候返回值為控件文本
當操作位:獲取代碼的時候返回值為控件內部代碼
例子:
Func Example28()
;聲明一個名為$ie的局域變量,將通過瀏覽器窗口標題“淘寶網”獲取瀏覽器對象保存這個變量中
Local $ie = J_IE_Catch("淘寶網", "標題")
;注意J_IE_EXP_MaxCount必須要配合控件錄製工具使用
;聲明 $max的一個局域變量,在$ie變量中對應的瀏覽器頁麵中檢索,對應的控件相同屬性的在頁麵中一共有多少個,並保存至$max變量中
;一般情況下用於循環或者判斷
Local $max = J_IE_EXP_MaxCount($ie, "淘寶網", "搜索框exp")
;創建一個循環,從1開始$max中保存的數字截止,注意,如果沒寫step的話步長默認為1
For $i = 1 To $max
;聲明 $result的一個局域變量,在$ie變量中對應的瀏覽器頁麵對應的第$i個控件執行輸入hello的操作,並將結果保存至$result變量中(執行成功1,執行失敗0)
Local $result = J_IE_EXP("淘寶網", "搜索框exp", $i, "輸入", "hello", $ie)
;下一次循環
Next
EndFunc ;==>Example28
5.10 J_EXP_MaxCount(總字符串,正則表達式)
作用:返回滿足此正則表達式匹配的個數
返回值:返回滿足此正則表達式匹配的個數
例子:
Func Example28()
;聲明一個名為$ie的局域變量,將通過瀏覽器窗口標題“淘寶網”獲取瀏覽器對象保存這個變量中
Local $ie = J_IE_Catch("淘寶網", "標題")
;注意J_IE_EXP_MaxCount必須要配合控件錄製工具使用
;聲明 $max的一個局域變量,在$ie變量中對應的瀏覽器頁麵中檢索,對應的控件相同屬性的在頁麵中一共有多少個,並保存至$max變量中
;一般情況下用於循環或者判斷
Local $max = J_IE_EXP_MaxCount($ie, "淘寶網", "搜索框exp")
;創建一個循環,從1開始$max中保存的數字截止,注意,如果沒寫step的話步長默認為1
For $i = 1 To $max
;聲明 $result的一個局域變量,在$ie變量中對應的瀏覽器頁麵對應的第$i個控件執行輸入hello的操作,並將結果保存至$result變量中(執行成功1,執行失敗0)
Local $result = J_IE_EXP("淘寶網", "搜索框exp", $i, "輸入", "hello", $ie)
;下一次循環
Next
EndFunc ;==>Example28
2.11 J_IE_Wait(瀏覽器對象,MAP名稱,控件名稱,[超時時間:10000毫秒])
作用:等待錄製的控件刷新出來
返回值:成功1失敗0
例子:
Func Example29()
;新建一個IE窗口並打開www.crm.admin.com鏈接,聲明一個名為$ie的局域變量,裝入這個新創建瀏覽器的對象
Local $ie = J_IE_Create("www.baidu.com")
;聲明 $res1的一個局域變量,$ie對應的瀏覽器頁麵等待錄製控件工具中相對應的控件在20000毫秒內出現,並將等待結果保存至變量中(成功1,失敗0)
Local $result = J_IE_Wait($ie, "淘寶網", "搜索框exp", 20000)
;等待結束並將等待的結果通過信息提示窗口的形式顯示出來
J_MsgBox("等待結束:" & $result)
EndFunc ;==>Example29
2.12 J_IE_Tab_FindByText(IE對象,正則表達式)
作用:通過文本正則表達式獲取表格對象
返回值:成功返回表格對象,失敗返回0
例子:
Func Example30()
;聲明一個名為$ie的局域變量,將通過瀏覽器窗口標題“淘寶TSP”獲取瀏覽器對象保存這個變量中
Local $ie = J_IE_Catch("淘寶TSP", "標題")
;聲明一個名為$tab的局域變量,在變量$ie對應的瀏覽器頁麵中通過表格可見文本的正則表達式定位表格,並將表格文本對象保存至變量$tab中
Local $tab = J_IE_Tab_FindByText($ie, "買家真實姓名", "文本")
;聲明一個名為$tab2的局域變量,在變量$ie對應的瀏覽器頁麵中通過表格的內嵌HTML代碼的正則表達式定位表格,並將表格html代碼對象保存至變量$tab中
Local $tab2 = J_IE_Tab_FindByHtml($ie, "<TD class=ktitle a", "html")
;彈出一個彈出框,顯示$tab中對應的表格對象
J_IE_Tab_Debug($tab)
;彈出一個彈出框,顯示$tab2中對應的表格對象
J_IE_Tab_Debug($tab2)
;聲明一個名為$maxcol的局域變量,獲取$tab變量中所對應的表格的列數,並將其保存至$maxcol中
Local $maxcol = J_IE_Tab_MaxCol($tab)
;聲明一個名為$maxcount的局域變量,獲取$tab變量中所對應的表格的行數,並將其保存至$maxcount中
Local $maxcount = J_IE_Tab_MaxCount($tab)
;創建一個For循環,從1循環到$maxcount
For $c = 1 To $maxcount
;在第一個循環下創建一個循環,從1循環到$maxcol
For $w = 1 To $maxcol
;聲明一個名為$text的局域變量,將$tab表格中對應的$c行$w列的數據保存其中
Local $text = J_IE_Tab_Read($tab, $c, $w)
;通過係統信息提示框的方式顯示出$text中的數據
J_MsgBox($text)
;下一次循環,對應For $w = 1 To $maxcol
Next
;在上述循環執行完畢之後才能執行到這裏
;下一次循環,對應For $c = 1 To $maxcount
Next
EndFunc ;==>Example30
2.13 J_IE_Tab_FindByHtml(IE對象,正則表達式,[模式:文本])
作用:通過html正則表達式獲取表格對象
模式:文本,html
返回值:成功返回表格對象,失敗返回0
例子:
Func Example30()
;聲明一個名為$ie的局域變量,將通過瀏覽器窗口標題“淘寶TSP”獲取瀏覽器對象保存這個變量中
Local $ie = J_IE_Catch("淘寶TSP", "標題")
;聲明一個名為$tab的局域變量,在變量$ie對應的瀏覽器頁麵中通過表格可見文本的正則表達式定位表格,並將表格文本對象保存至變量$tab中
Local $tab = J_IE_Tab_FindByText($ie, "買家真實姓名", "文本")
;聲明一個名為$tab2的局域變量,在變量$ie對應的瀏覽器頁麵中通過表格的內嵌HTML代碼的正則表達式定位表格,並將表格html代碼對象保存至變量$tab中
Local $tab2 = J_IE_Tab_FindByHtml($ie, "<TD class=ktitle a", "html")
;彈出一個彈出框,顯示$tab中對應的表格對象
J_IE_Tab_Debug($tab)
;彈出一個彈出框,顯示$tab2中對應的表格對象
J_IE_Tab_Debug($tab2)
;聲明一個名為$maxcol的局域變量,獲取$tab變量中所對應的表格的列數,並將其保存至$maxcol中
Local $maxcol = J_IE_Tab_MaxCol($tab)
;聲明一個名為$maxcount的局域變量,獲取$tab變量中所對應的表格的行數,並將其保存至$maxcount中
Local $maxcount = J_IE_Tab_MaxCount($tab)
;創建一個For循環,從1循環到$maxcount
For $c = 1 To $maxcount
;在第一個循環下創建一個循環,從1循環到$maxcol
For $w = 1 To $maxcol
;聲明一個名為$text的局域變量,將$tab表格中對應的$c行$w列的數據保存其中
Local $text = J_IE_Tab_Read($tab, $c, $w)
;通過係統信息提示框的方式顯示出$text中的數據
J_MsgBox($text)
;下一次循環,對應For $w = 1 To $maxcol
Next
;在上述循環執行完畢之後才能執行到這裏
;下一次循環,對應For $c = 1 To $maxcount
Next
EndFunc ;==>Example30
2.14 J_IE_Tab_Debug(表格對象)
作用:調試IE表格,一般情況下用於測試
返回值:無
例子:
Func Example30()
;聲明一個名為$ie的局域變量,將通過瀏覽器窗口標題“淘寶TSP”獲取瀏覽器對象保存這個變量中
Local $ie = J_IE_Catch("淘寶TSP", "標題")
;聲明一個名為$tab的局域變量,在變量$ie對應的瀏覽器頁麵中通過表格可見文本的正則表達式定位表格,並將表格文本對象保存至變量$tab中
Local $tab = J_IE_Tab_FindByText($ie, "買家真實姓名", "文本")
;聲明一個名為$tab2的局域變量,在變量$ie對應的瀏覽器頁麵中通過表格的內嵌HTML代碼的正則表達式定位表格,並將表格html代碼對象保存至變量$tab中
Local $tab2 = J_IE_Tab_FindByHtml($ie, "<TD class=ktitle a", "html")
;彈出一個彈出框,顯示$tab中對應的表格對象
J_IE_Tab_Debug($tab)
;彈出一個彈出框,顯示$tab2中對應的表格對象
J_IE_Tab_Debug($tab2)
;聲明一個名為$maxcol的局域變量,獲取$tab變量中所對應的表格的列數,並將其保存至$maxcol中
Local $maxcol = J_IE_Tab_MaxCol($tab)
;聲明一個名為$maxcount的局域變量,獲取$tab變量中所對應的表格的行數,並將其保存至$maxcount中
Local $maxcount = J_IE_Tab_MaxCount($tab)
;創建一個For循環,從1循環到$maxcount
For $c = 1 To $maxcount
;在第一個循環下創建一個循環,從1循環到$maxcol
For $w = 1 To $maxcol
;聲明一個名為$text的局域變量,將$tab表格中對應的$c行$w列的數據保存其中
Local $text = J_IE_Tab_Read($tab, $c, $w)
;通過係統信息提示框的方式顯示出$text中的數據
J_MsgBox($text)
;下一次循環,對應For $w = 1 To $maxcol
Next
;在上述循環執行完畢之後才能執行到這裏
;下一次循環,對應For $c = 1 To $maxcount
Next
EndFunc ;==>Example30
2.15 J_IE_Tab_MaxCount(表格對象)
作用:獲得IE表格一共多少行
返回值:獲得IE表格一共多少行
例子:
Func Example30()
;聲明一個名為$ie的局域變量,將通過瀏覽器窗口標題“淘寶TSP”獲取瀏覽器對象保存這個變量中
Local $ie = J_IE_Catch("淘寶TSP", "標題")
;聲明一個名為$tab的局域變量,在變量$ie對應的瀏覽器頁麵中通過表格可見文本的正則表達式定位表格,並將表格文本對象保存至變量$tab中
Local $tab = J_IE_Tab_FindByText($ie, "買家真實姓名", "文本")
;聲明一個名為$tab2的局域變量,在變量$ie對應的瀏覽器頁麵中通過表格的內嵌HTML代碼的正則表達式定位表格,並將表格html代碼對象保存至變量$tab中
Local $tab2 = J_IE_Tab_FindByHtml($ie, "<TD class=ktitle a", "html")
;彈出一個彈出框,顯示$tab中對應的表格對象
J_IE_Tab_Debug($tab)
;彈出一個彈出框,顯示$tab2中對應的表格對象
J_IE_Tab_Debug($tab2)
;聲明一個名為$maxcol的局域變量,獲取$tab變量中所對應的表格的列數,並將其保存至$maxcol中
Local $maxcol = J_IE_Tab_MaxCol($tab)
;聲明一個名為$maxcount的局域變量,獲取$tab變量中所對應的表格的行數,並將其保存至$maxcount中
Local $maxcount = J_IE_Tab_MaxCount($tab)
;創建一個For循環,從1循環到$maxcount
For $c = 1 To $maxcount
;在第一個循環下創建一個循環,從1循環到$maxcol
For $w = 1 To $maxcol
;聲明一個名為$text的局域變量,將$tab表格中對應的$c行$w列的數據保存其中
Local $text = J_IE_Tab_Read($tab, $c, $w)
;通過係統信息提示框的方式顯示出$text中的數據
J_MsgBox($text)
;下一次循環,對應For $w = 1 To $maxcol
Next
;在上述循環執行完畢之後才能執行到這裏
;下一次循環,對應For $c = 1 To $maxcount
Next
EndFunc ;==>Example30
2.16 J_IE_Tab_MaxCol(表格對象)
作用:獲得IE表格一共多少列
返回值:獲得IE表格一共多少列
例子:
Func Example30()
;聲明一個名為$ie的局域變量,將通過瀏覽器窗口標題“淘寶TSP”獲取瀏覽器對象保存這個變量中
Local $ie = J_IE_Catch("淘寶TSP", "標題")
;聲明一個名為$tab的局域變量,在變量$ie對應的瀏覽器頁麵中通過表格可見文本的正則表達式定位表格,並將表格文本對象保存至變量$tab中
Local $tab = J_IE_Tab_FindByText($ie, "買家真實姓名", "文本")
;聲明一個名為$tab2的局域變量,在變量$ie對應的瀏覽器頁麵中通過表格的內嵌HTML代碼的正則表達式定位表格,並將表格html代碼對象保存至變量$tab中
Local $tab2 = J_IE_Tab_FindByHtml($ie, "<TD class=ktitle a", "html")
;彈出一個彈出框,顯示$tab中對應的表格對象
J_IE_Tab_Debug($tab)
;彈出一個彈出框,顯示$tab2中對應的表格對象
J_IE_Tab_Debug($tab2)
;聲明一個名為$maxcol的局域變量,獲取$tab變量中所對應的表格的列數,並將其保存至$maxcol中
Local $maxcol = J_IE_Tab_MaxCol($tab)
;聲明一個名為$maxcount的局域變量,獲取$tab變量中所對應的表格的行數,並將其保存至$maxcount中
Local $maxcount = J_IE_Tab_MaxCount($tab)
;創建一個For循環,從1循環到$maxcount
For $c = 1 To $maxcount
;在第一個循環下創建一個循環,從1循環到$maxcol
For $w = 1 To $maxcol
;聲明一個名為$text的局域變量,將$tab表格中對應的$c行$w列的數據保存其中
Local $text = J_IE_Tab_Read($tab, $c, $w)
;通過係統信息提示框的方式顯示出$text中的數據
J_MsgBox($text)
;下一次循環,對應For $w = 1 To $maxcol
Next
;在上述循環執行完畢之後才能執行到這裏
;下一次循環,對應For $c = 1 To $maxcount
Next
EndFunc ;==>Example30
2.17 J_IE_Tab_Read(表格對象,第幾行,第幾列)
作用:獲得IE表格中的文本
返回值:成功返回表格相應的文本,失敗返回空
例子:
Func Example30()
;聲明一個名為$ie的局域變量,將通過瀏覽器窗口標題“淘寶TSP”獲取瀏覽器對象保存這個變量中
Local $ie = J_IE_Catch("淘寶TSP", "標題")
;聲明一個名為$tab的局域變量,在變量$ie對應的瀏覽器頁麵中通過表格可見文本的正則表達式定位表格,並將表格文本對象保存至變量$tab中
Local $tab = J_IE_Tab_FindByText($ie, "買家真實姓名", "文本")
;聲明一個名為$tab2的局域變量,在變量$ie對應的瀏覽器頁麵中通過表格的內嵌HTML代碼的正則表達式定位表格,並將表格html代碼對象保存至變量$tab中
Local $tab2 = J_IE_Tab_FindByHtml($ie, "<TD class=ktitle a", "html")
;彈出一個彈出框,顯示$tab中對應的表格對象
J_IE_Tab_Debug($tab)
;彈出一個彈出框,顯示$tab2中對應的表格對象
J_IE_Tab_Debug($tab2)
;聲明一個名為$maxcol的局域變量,獲取$tab變量中所對應的表格的列數,並將其保存至$maxcol中
Local $maxcol = J_IE_Tab_MaxCol($tab)
;聲明一個名為$maxcount的局域變量,獲取$tab變量中所對應的表格的行數,並將其保存至$maxcount中
Local $maxcount = J_IE_Tab_MaxCount($tab)
;創建一個For循環,從1循環到$maxcount
For $c = 1 To $maxcount
;在第一個循環下創建一個循環,從1循環到$maxcol
For $w = 1 To $maxcol
;聲明一個名為$text的局域變量,將$tab表格中對應的$c行$w列的數據保存其中
Local $text = J_IE_Tab_Read($tab, $c, $w)
;通過係統信息提示框的方式顯示出$text中的數據
J_MsgBox($text)
;下一次循環,對應For $w = 1 To $maxcol
Next
;在上述循環執行完畢之後才能執行到這裏
;下一次循環,對應For $c = 1 To $maxcount
Next
EndFunc ;==>Example30
2.18 J_IE_GetScrollTop(瀏覽器對象)
作用:獲取瀏覽器滾動條高度
返回值:獲取滾動條高度
例子:
func test()
local $ie = j_ie_create("www.taobao.com",default,default,default,"chrome")
;滾一屏
J_IE_ScrollPage($ie)
local $top = J_IE_GetScrollTop($ie)
j_msgbox($top)
endfunc
2.19 J_IE_SetScrollTop(瀏覽器對象,滾動條高度)
作用:設置瀏覽器滾動條高度
返回值:成功返回1,失敗返回0
例子:
func test()
local $ie = J_IE_Catch("淘寶", "標題", 'chrome')
J_IE_SetScrollTop($ie, 300)
endfunc
2.20 J_IE_ScrollPage(瀏覽器對象)
作用:讓瀏覽器滾動一屏
返回值:滾動條到底返回0,失敗返回0,其它返回1
例子:
func test()
local $ie = J_IE_Catch("淘寶", "標題", 'chrome')
local $result
Do
$value = J_IE_ScrollPage($ie)
Until($value = 0)
endfunc ;==>test
2.21 J_IE_DragAndDrop(瀏覽器對象,MAP對象,控件對象,x偏移量,y偏移量)
作用:拖拽到指定位置
1、拖拽的起始位置為控件的中心點
2、偏移量是相對於此控件的中心點來說的。
如果向左拖,x軸偏移值應該是 負數
如果向上拖,y軸偏移值應該是負數
例如下圖:支付寶拖拽驗證碼
例子:
func test()
local $ie = J_IE_Catch("轉賬", "標題", "chrome")
local $array = J_IE("支付寶", "驗>>", "獲取坐標", "", $ie)
local $x1 = $array[1]
local $x2 = $array[3]
local $array2 = J_IE("支付寶", "驗證域", "獲取坐標", "", $ie)
local $lx2 = $array2[3]
;要拖的長度:
local $xoffset = $lx2 - ($x2 + $x1) / 2
j_log($xoffset)
local $result = J_IE_DragAndDrop($ie, "支付寶", "驗>>", $xoffset)
if $result = 0 then
local $errorMsg = J_GetErrorMsg()
J_MsgBox($errorMsg)
endif
endfunc ;==>test
5.22 J_IE_Download($url, $path, $fileName = '')
作用:模擬瀏覽器中點擊下載保存動作,將文件保存到指定的地方。文件名可以特別指定。指定時,要注意文件類型。
返回值:成功返回1,失敗返回0。異步下載,不等待文件下載完就返回。
例子:
func downloadTest()
;需先登錄商家後台
Local $url = "https://trade.taobao.com/trade/itemlist/export_by_tfs.do?f_p=TB1EfhDOpXXXXXQXVXXUXJ7WFXX-a9722f6c478344a5124fb76750a88441-orders&apply_time=2016-11-18+14%3A08%3A51&start_time=2016-08-20+14%3A08%3A51&end_time=2016-11-18+14%3A08%3A51&order_status=%BD%BB%D2%D7%B9%D8%B1%D5"
local $result = J_IE_Download($url, 'd:/nw/')
if $result = 0 then
local $msg = J_GetErrorMsg()
J_MsgBox($msg)
endif
EndFunc ;==>downloadTest
本文轉自碼棧平台
最後更新:2017-05-13 08:46:28