开发者社区> 问答> 正文

2.1.4.2浏览器相关功能函数

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-10 08:55:13 3320 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
WEB浏览器中即将发生的安全变化 立即下载
基于浏览器的实时构建探索之路 立即下载
基于浏览器的实时构建探索之路--玄寂 立即下载