• 首页
  • 教程
  • 资源
  • 脚本
  • 源码库
  • 卖脚本
  • 用户中心
  • 作者成长
加入收藏  返回官网
你的位置:按键精灵资源站
Chrome 框架穿透 鼠标 键盘 截图 元素坐标 后台 全系统支持
发布: 2017-11-24 11:58:00 | 作者: | 来源: 按键精灵资源站

halo


为大家带来一个谷歌内核的插件,有疑问的可以加群讨论,功能完善运行稳定,QQ群号:174972351





项目网页 :点击前往


协议参考:https://chromedevtools.github.io/devtools-protocol/


特点:




  1. 可以控制开着远程调试端口(9222)的谷歌内核浏览器
  2. 简单方便,只要会右键复制即可。
  3. 轻松框架穿透
  4. 直接模拟键盘输入,无视键盘事件。
  5. 可获取元素位置,调用鼠标事件操作。
  6. 上传文件,跨框架上传。
  7. 内置联众平台,方便简洁,欢迎其他平台加盟。







[hr]

方法说明:



创建浏览器(浏览器路径, 远程端口, 缓存路径, 命令行参数)

浏览器路径: chrome浏览器的路径 如:E:\Google Chrome\chrome.exe

远程端口: 整数 如:9222

缓存路径:字符串,可空  如:E:\data_chrome

命令行参数:chrome浏览器的启动参数,多个参数可以用" "(空格)分隔

返回值: 无


字符串 获取所有标签ids()

获得所有已创建标签的id

返回值: 返回所有id,id用"|"分隔


字符串 绑定标签(标签id, 远程端口)

获得指定标签的控制权,使用其余方法必须调用

返回值:绑定失败、绑定成功



关闭标签(标签id, 远程端口)

关闭一个标签

id: 标签id

远程端口:端口数字

返回值:无




打开网址(网址)

使绑定标签打开指定网页

网址: 要载入的地址



字符串  元素坐标(dom选择代码)

获取绑定标签页面元素相对于浏览器的位置

dom选择代码: 选择器选择代码 如:document.querySelector('#lg > img')

返回值:左上角下x1,y1  以及 右下角x2,y2


停止加载()

停止绑定标签加载网页

返回值:无


重载标签()

重载绑定标签

返回值:无


新建标签(网址)

新建标签,如果需要操作,请使用绑定标签命令

网址:文本型 如:https://www.baidu.com/

返回值:无



获取指定网址的cookies(网址)

获得指定域名的cookies

网址:如:http://www.hao123.com

返回值:json格式,需要自己解析


键盘输入(内容)

在绑定的标签内敲键盘输入内容,无视触发时间,使用前输入框需要获取焦点,可使用focus()函数

内容:字符串,中文、英文、数字

返回值:无


鼠标单击(坐标x,坐标y)

在绑定标签内,后台鼠标点击

坐标x:整数

坐标y:整数

返回值:无


字符串 执行js代码(js代码)

在绑定标签内,执行js代码(超级常用代码)

js代码:字符串

返回值:js运行结果


注入JQ()

在绑定标签内,注入jquery

返回值:无


保存img标签图片(图片dom选择代码, 保存路径)

在绑定标签内,图片dom选择代码:如:document.querySelector('#lg > img')

保存路径:如:C:\Users\Public\Desktop\a.png

返回值:保存成功、保存失败


捕获页面区域(x, y, 宽度, 高度, 保存地址)

在绑定标签内,捕获页面指定区域

x, y, 宽度, 高度:区域代码

保存地址:C:\Users\Public\Desktop\a.jpg

返回值:图片base64编码内容


设置cookies(名, 值,网址)

在绑定标签内,设置指定网址的 cookies

返回值:无


清除所有cookies()

在绑定标签内,清除所有cookies

返回值:无


[hr]

字符串 取框架ID(探测深度)

在绑定标签内,通过命令遍历页面,探测深度过小可能导致无法操作某些节点,过大会探测时间长。穿透框架

探测深度:整数型,如:5

返回值:用|连接的框架id(默认主框架为1,其他情况例外)


整数型 取元素节点ID(框架ID,元素选择代码)

在绑定标签内,使用框架ID,获得指定元素的节点ID

框架ID:通过 取框架ID(探测深度) 获得,整数型

元素选择代码:CSS选择器代码,如:#Main-File,#kw 等

返回值:节点ID


文本型 获取节点属性值(节点ID,属性名)

在绑定标签内,使用节点ID获得元素的各种属性。

节点ID:通过 取元素节点ID(框架ID,元素选择代码)获得,整数型

属性名:如:value、class、ID等等

返回值:属性值


文本型 设置节点ID属性值(节点ID, 属性名,值)

在绑定标签内,设置节点ID 对应元素的各种属性。

节点ID:通过 取元素节点ID(框架ID,元素选择代码)获得,整数型

属性名:如:value、class、ID等等

值:需要设置的值

返回值:错误提示


文本型 获取节点OuterHTML(节点ID)

在绑定标签内,节点ID 对应元素的OuterHTML

节点ID:通过 取元素节点ID(框架ID,元素选择代码)获得,整数型

返回值:OuterHTML文本


文本型 元素坐标_跨域(框架ID, dom选择代码)

在绑定标签内,获得相对于浏览器的坐标,目测跟滚动条位置有关,如有滚动,左上角坐标需加上滚动的dx和dy

框架ID:通过 取框架ID(探测深度) 获得,整数型

dom选择代码:通过右键获得,如:#Main-File,#kw 等

返回值:左上角X|左上角Y|宽度|高度


整数型  元素取得焦点(框架ID,dom选择代码)

在绑定标签内,节点ID 对应元素的OuterHTML

框架ID:通过 取框架ID(探测深度) 获得,整数型

dom选择代码:通过右键获得,如:#Main-File,#kw 等

返回值:0 成功  -1 失败


设置文件到input元素(节点ID,文件地址组)

在绑定标签内,设置文件到input标签,其他标签无效,低版本CHROME无法跨框架

节点ID:通过命令 取元素节点ID(框架ID,元素选择代码)获得

文件地址组:多个文件请用逗号(,)分割。如:E:\桌面\1.jpg,E:\桌面\2.jpg

返回值:无


[hr]


示范代码

[code]Call Plugin.connect.Httpsever()
ids = 获取所有标签ids(9222)
If ids = "" Then
    Call 创建浏览器 ("E:\桌面\按键插件\chorome按键新插件\Google Chrome\chrome.exe",9222,"","")
End If
Do
    Delay 200
    ids = 获取所有标签ids(9222)
    If ids <> "" Then
        Exit Do
    End If
Loop
If 绑定标签(ids, 9222) <> "绑定成功" Then
    TracePrint "绑定失败"
    EndScript
End If
打开网址 "https://www.baidu.com/"
Do
    Delay 200
    If 执行js代码("document.readyState") = "complete" Then
        Exit Do
    End If
Loop
TracePrint "加载完毕"
框架ids = 取框架ID(5)
TracePrint "框架ids:" & 框架ids
框架ID数组 = split(框架ids, "|")
For i = 0 To UBound(框架ID数组)'直接遍历框架
    If 元素取得焦点(框架ID数组(i), "#kw") = "0" Then '随便找个框架内的元素
        TracePrint "找到框输入框架"
        节点ID = 取元素节点ID(框架ID数组(i), "#kw")
        TracePrint "节点ID:" & 节点ID
        TracePrint 获取节点属性值(节点ID, "class")
        TracePrint 获取节点属性值(节点ID, "name")
        TracePrint 获取节点属性值(节点ID, "id")
        TracePrint 获取节点OuterHTML(节点ID)
        节点ID = 取元素节点ID(框架ID数组(i), "#form > span.bg.s_ipt_wr.quickdelete-wrap > span")
        百度照相机位置 = 元素坐标_跨域(框架ID数组(i), "#form > span.bg.s_ipt_wr.quickdelete-wrap > span")
        TracePrint "百度照相机位置  "&百度照相机位置
        百度照相机位置_ar = split(百度照相机位置, "|")
        If UBound(百度照相机位置_ar) = 3 Then
            鼠标单击 百度照相机位置_ar(0) + 10, 百度照相机位置_ar(1) + 10
            节点ID = 取元素节点ID(框架ID数组(i), "#form > div > div.soutu-state-normal > div.upload-wrap > input")
            TracePrint "节点ID:" & 节点ID
            TracePrint 设置文件到input元素(节点ID, "E:\桌面\验证码.jpg")
        End If
        //                TracePrint 设置节点ID属性值(节点ID,"value", "5555")
        //                TracePrint 获取节点属性值(节点ID, "value")
    End If
Next
Function 设置文件到input元素(节点ID,文件地址组)'文件地址组用 ,分割
    设置文件到input元素=SendMessage("设置文件到input元素|" & 节点ID & "|" & 文件地址组 & "|")
End Function
Function 设置节点ID属性值(节点ID, 属性名,值)
    设置节点ID属性值=SendMessage("设置节点ID属性值|" & 节点ID & "|"& 属性名 & "|" & 值 & "|")
End Function
Function 取元素节点ID(框架ID,元素选择代码)
    取元素节点ID=SendMessage("取元素节点ID|" & 框架ID & "|" & 元素选择代码 & "|")
End Function
Function 获取节点属性值(节点ID,属性名)
    获取节点属性值=SendMessage("获取节点属性值|" & 节点ID & "|"& 属性名 & "|")
End Function
Function 获取节点OuterHTML(节点ID)'
    获取节点OuterHTML = SendMessage("获取节点OuterHTML|" & 节点ID & "|")
End Function
Function 联众答题(账号, 密码, 类型, 验证码地址)
    联众答题=SendMessage("联众答题|"& 账号 & "|" & 密码 & "|"& 类型 & "|"& 验证码地址 & "|")
End Function
Function 元素坐标_跨域(框架ID, dom选择代码)
    元素坐标_跨域=SendMessage("元素坐标_跨域|"& 框架ID & "|" & dom选择代码 & "|")
End Function
Function 取框架ID(探测深度)
    取框架ID=SendMessage("取框架ID|" & 探测深度 & "|")
End Function
Function 元素取得焦点(框架ID,dom选择代码)
    元素取得焦点=SendMessage("元素取得焦点|"& 框架ID & "|" & dom选择代码 & "|")
End Function
Function 元素坐标(dom选择代码)'document.querySelector('#lg > img') '返回的是左上 右下
    元素坐标 = SendMessage("元素坐标|" & dom选择代码 & "|")
End Function
Function 停止加载()
    停止加载 = SendMessage("停止加载|")
End Function
Function 设置下载自动保存(保存路径)'行为 deny, allow, default
    设置下载自动保存 = SendMessage("设置下载自动保存|" & 保存路径 & "|")
End Function
Function 捕获页面区域(x, y, 宽度, 高度, 保存地址)
    捕获页面区域 = SendMessage("捕获页面区域|" & x & "|" & y & "|" & 宽度 & "|" & 高度 & "|" & 保存地址 & "|")
End Function
Function 设置UserAgent(UserAgent)
    SendMessage("设置UserAgent|"&UserAgent&"|")
End Function
Function 获取所有cookies()
    获取所有cookies=SendMessage("获取所有cookies|")
End Function
Function 获取指定网址的cookies(网址)
    获取指定网址的cookies=SendMessage("获取指定网址的cookies|"&网址&"|")
End Function
Function 设置cookies(名, 值,网址)
    设置cookies=SendMessage("设置cookies|"&名&"|"&值&"|"&网址&"|")
End Function
Function 清除所有cookies()
    清除所有cookies=SendMessage("清除所有cookies|")
End Function
Function 重载标签()
    重载标签 = SendMessage("重载标签|")
End Function
Function 新建标签(网址)
    新建标签= SendMessage("新建标签|"&网址&"|")
End Function
Function 关闭标签(标签id, 远程端口)
    关闭标签= SendMessage("关闭标签|"&标签id&"|"&远程端口&"|")
End Function
Function 鼠标单击(坐标x,坐标y)
    鼠标单击= SendMessage("鼠标单击|"&坐标x&"|"&坐标y&"|")
End Function
Function 保存img标签图片(图片dom选择代码, 保存路径)
    保存img标签图片= SendMessage("保存img标签图片|"&图片dom选择代码&"|"&保存路径&"|")
End Function
Function 键盘输入(内容)
    SendMessage("键盘输入|"+内容&"|")
End Function
Function 注入JQ()
    注入JQ=SendMessage("注入JQ|")
End Function
Function 打开网址(网址)
    打开网址= SendMessage("打开网址|"+网址&"|")
End Function
Function 获取协议详情()
    获取协议详情 = SendMessage("获取协议详情|")
End Function
Function 执行js代码(js代码)
    执行js代码= SendMessage("同步执行js命令|"&js代码&"|" )
End Function
Function 绑定标签(标签id, 远程端口)
    绑定标签= SendMessage("绑定标签|"&标签id&"|" & 远程端口 & "|")
End Function
Function 获取所有标签ids(远程端口)
    获取所有标签ids = SendMessage("获取所有标签ids|" & 远程端口 & "|")
End Function
Function 创建浏览器(浏览器路径, 远程端口, 缓存路径, 命令行参数)   
    SendMessage ("创建浏览器|" &浏览器路径& "|" & 远程端口 & "|" & 缓存路径 & "|" & 命令行参数& "|" )
End Function
Function SendMessage(message)
    Set TmpWinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
    局_访问方式 = "POST"
    局_返回编码 = "GBK"
    TmpWinHttp.Open 局_访问方式, "http://127.0.0.1:7777/", False
    If 禁止重定向 Then
        Execute "TmpWinHttp.Option(6)=False"
    Else
        Execute "TmpWinHttp.Option(6)=True"
    End If
    //设置忽略错误提示
    Execute "TmpWinHttp.Option(4)=13056"
    TmpWinHttp.Send message
    //获取网页数据(字节集)
    局_网页数据 = TmpWinHttp.ResponseBody
    //输出数据
    If clng(TmpWinHttp.getResponseHeader("Content-Length")) = 0 Then
        SendMessage = ""
    Else
        Set ObjStream = CreateObject("Adodb.Stream")
        ObjStream.Type = 1
        ObjStream.Mode = 3
        ObjStream.Open
        ObjStream.Write 局_网页数据
        ObjStream.Position = 0
        ObjStream.Type = 2
        ObjStream.Charset = 局_返回编码
        BytesToBstr = ObjStream.ReadText
        ObjStream.Close
        SendMessage=BytesToBstr
    End If
End Function
[/code]


回复下载,谢啦本帖隐藏的内容需要回复才可以浏览