- 安装nodejs https://nodejs.org/zh-cn/
- npm -i 安装项目依赖
- .env文件中配置电脑中Chrome浏览器地址(CHROME_PATH = "C:\Program Files\Google\Chrome\Application\chrome.exe")
- .env文件可配置手机号,会在打开窗口后自动填写(PHONE = 13843838438)
##Chorme拓展
- 可控制注入页面的js信息,通过
MyEvent
类注入请求方法,通过HandleCanvas
类注入canvas方法; - 通过
chrome.runtime.onConnect.addListener
方法监听popup层事件 - 通过ajax发送请求
- 通过
port.postMessage
接受contentjs返回信息 - 通过chromeApi
chrome.notifications
向系统发送通知 - 通过
chrome.extension.getBackgroundPage()
获取background层变量
- 储存变量,同步不同页面数据,保证popup数据一致性
- 因为event事件属性
isTrusted
属性无法改变 - 可灵活操作所有事件,包括滚轮键盘鼠标等事件
- 基于nodejs可灵活操作本地图片,浏览器不行
- 将性能分散,减少浏览器压力
##图像处理
- contentjs中
drawVideoImg
读取页面视频元素,并缩放至1/4大小 - 主逻辑中,
_getVideoData
方法获取像素数据 - 主逻辑中,
_getImageData
方法获取本地图片信息 - 主逻辑中,
_similarImg
计算相似度
##防封处理
- 区域-○内随机点击 circleArea
- 时长- 按下到松开时长 delay
- 次数- 一次点击操作的次数 loopClickTimes
- 频率- 点击触发之间间隔 frequency
- 一轮点击时长 = 次数:loopClickTimes × (频率:frequency + 点击延时:delay)
##数据处理
- 数据储存在mapjs中