閱讀738 返回首頁    go 技術社區[雲棲]


碼棧開發手冊(四)---編碼方式開發(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

  上一篇:go  碼棧開發手冊(四)---編碼方式開發(日期相關函數)
  下一篇:go  碼棧開發手冊(四)---編碼方式開發(API函數列表)