一种基于chrome插件模拟人工点击方法及系统与流程

文档序号:29522810发布日期:2022-04-06 23:58阅读:1670来源:国知局
一种基于chrome插件模拟人工点击方法及系统与流程

1.本发明涉及计算机技术领域,特别指一种基于chrome插件模拟人工点击方法及系统。


背景技术:

2.用户想通过浏览器访问相关网站获取一些数据时,时常需要通过鼠标点击多次不同的按钮,非常的繁琐;例如跨域电商在运营电商平台的过程中,为了获取电商平台提供的报表,就需要通过鼠标点击多次不同的按钮,导致运营效率低下,因此自动点击按钮的需求应运而生。
3.然而,针对自动点击网站的按钮,传统上没有较好的解决方案,若通过rpa机器人来代替人工进行点击,由于rpa机器人模拟点击的过程中需要用js脚本调用event对象,而网站一旦识别到是rpa机器人调用event对象将直接设置event.istrusted=false,即设置该调用不被信任而进行拦截,因此通过rpa机器人来代替人工进行点击的方法行不通;且网站会识别鼠标的运动轨迹,若通过运动轨迹识别到非人工操作,也会进行相应的拦截。
4.因此,如何提供一种基于chrome插件模拟人工点击方法及系统,实现模拟人工点击按钮,以提升网站数据获取效率,成为一个亟待解决的技术问题。


技术实现要素:

5.本发明要解决的技术问题,在于提供一种基于chrome插件模拟人工点击方法及系统,实现模拟人工点击按钮,以提升网站数据获取效率。
6.第一方面,本发明提供了一种基于chrome插件模拟人工点击方法,包括如下步骤:
7.步骤s10、在chrome浏览器上启动拥有debugger权限的插件;
8.步骤s20、基于所述插件,将待点击的按钮自动移动到页面的可视区域;
9.步骤s30、设定一停留时长范围,在所述可视区域内的任意位置,随机生成一鼠标的指针,对所述指针进行停留时长范围内的任意时长的停留;
10.步骤s40、创建一所述指针到按钮的随机路径,基于所述随机路径将指针移动到按钮上;
11.步骤s50、通过mousepressed指令触发所述指针点击按钮,通过mousereleased指令触发所述指针释放点击,完成人工点击的模拟。
12.进一步地,所述步骤s10具体为:
13.在chrome浏览器上启动拥有debugger权限的插件,并将所述插件加载到待点击的按钮所在的页面。
14.进一步地,所述步骤s20具体为:
15.基于所述插件的debugger权限,通过api接口将待点击的按钮自动移动到页面的可视区域。
16.进一步地,所述步骤s40具体包括:
17.步骤s41、在所述按钮的区域内随机生成一点击坐标,规划一所述指针到点击坐标的最短路径;
18.设定一抖动范围,基于所述抖动范围随机调整最短路径中各像素点的位置,进而将所述最短路径转换为随机路径;
19.步骤s42、设定一移动速度范围,将所述指针以移动速度范围内的任意速度,通过所述随机路径移动到按钮上。
20.进一步地,所述步骤s50具体为:
21.设定一释放时长范围,通过mousepressed指令触发所述指针点击按钮,所述按钮点击完成后,经过所述释放时长范围内的任意时长,通过mousereleased指令触发所述指针释放点击,完成人工点击的模拟。
22.第二方面,本发明提供了一种基于chrome插件模拟人工点击系统,包括如下模块:
23.插件启动模块,用于在chrome浏览器上启动拥有debugger权限的插件;
24.按钮移动模块,用于基于所述插件,将待点击的按钮自动移动到页面的可视区域;
25.指针生成模块,用于设定一停留时长范围,在所述可视区域内的任意位置,随机生成一鼠标的指针,对所述指针进行停留时长范围内的任意时长的停留;
26.随机路径创建模块,用于创建一所述指针到按钮的随机路径,基于所述随机路径将指针移动到按钮上;
27.模拟点击模块,用于通过mousepressed指令触发所述指针点击按钮,通过mousereleased指令触发所述指针释放点击,完成人工点击的模拟。
28.进一步地,所述插件启动模块具体为:
29.在chrome浏览器上启动拥有debugger权限的插件,并将所述插件加载到待点击的按钮所在的页面。
30.进一步地,所述按钮移动模块具体为:
31.基于所述插件的debugger权限,通过api接口将待点击的按钮自动移动到页面的可视区域。
32.进一步地,所述随机路径创建模块具体包括:
33.路径规划单元,用于在所述按钮的区域内随机生成一点击坐标,规划一所述指针到点击坐标的最短路径;
34.设定一抖动范围,基于所述抖动范围随机调整最短路径中各像素点的位置,进而将所述最短路径转换为随机路径;
35.指针移动单元,用于设定一移动速度范围,将所述指针以移动速度范围内的任意速度,通过所述随机路径移动到按钮上。
36.进一步地,所述模拟点击模块具体为:
37.设定一释放时长范围,通过mousepressed指令触发所述指针点击按钮,所述按钮点击完成后,经过所述释放时长范围内的任意时长,通过mousereleased指令触发所述指针释放点击,完成人工点击的模拟。
38.本发明的优点在于:
39.通过在chrome浏览器上启动拥有debugger权限的插件,基于插件的debugger权限将按钮自动移动到页面的可视区域,即通过插件让event.istrusted的取值始终为true,避
免被网站拦截;通过创建随机路径、停留时长范围、释放时长范围以及移动速度范围,用于模拟人工移动鼠标时路径的随机性、停留和释放时长的随机性、移动速度的随机性,避免网站通过鼠标的运动轨迹、停留和释放时长、移动速度识别到是机器人在操作而进行拦截,最终实现模拟人工点击按钮,极大的提升了网站数据获取效率。
附图说明
40.下面参照附图结合实施例对本发明作进一步的说明。
41.图1是本发明一种基于chrome插件模拟人工点击方法的流程图。
42.图2是本发明一种基于chrome插件模拟人工点击系统的结构示意图。
具体实施方式
43.本技术实施例中的技术方案,总体思路如下:通过在chrome浏览器上启动拥有debugger权限的插件让event.istrusted的取值始终为true,创建随机路径、停留时长范围、释放时长范围以及移动速度范围模拟人工移动点击时的随机性,避免操作被拦截,以实现模拟人工点击按钮。
44.请参照图1至图2所示,本发明一种基于chrome插件模拟人工点击方法的较佳实施例,包括如下步骤:
45.步骤s10、在chrome浏览器上启动拥有debugger权限的插件;通过拥有debugger权限的插件,能将event.istrusted=false改为event.istrusted=true,使得本发明不再依赖python+webdriver的环境,使用纯粹的js脚本就能实现event.istrusted=true,进而进行人工点击按钮的模拟;
46.步骤s20、基于所述插件,将待点击的按钮自动移动到页面的可视区域;
47.步骤s30、设定一停留时长范围,在所述可视区域内的任意位置,随机生成一鼠标的指针,对所述指针进行停留时长范围内的任意时长的停留;
48.步骤s40、创建一所述指针到按钮的随机路径,基于所述随机路径将指针移动到按钮上;
49.步骤s50、通过mousepressed指令触发所述指针点击按钮,通过mousereleased指令触发所述指针释放点击,完成人工点击的模拟。
50.具体实施时,可设定一错误率,基于所述错误率控制指针移动和点击的失败,并重新进行所述指针的移动和点击,以模拟人为操作的失误。
51.所述步骤s10具体为:
52.在chrome浏览器上启动拥有debugger权限的插件,并将所述插件加载到待点击的按钮所在的页面(tab),代码举例如下:
53.chrome.debugger.attach(debuggee target,string requiredversion,function callback)。
54.所述步骤s20具体为:
55.基于所述插件的debugger权限,通过api接口将待点击的按钮自动移动到页面的可视区域,代码举例如下:
56.document.getelementbyid(

xx’).scrollintoview()。
57.所述步骤s40具体包括:
58.步骤s41、在所述按钮的区域内随机生成一点击坐标,规划一所述指针到点击坐标的最短路径;
59.设定一抖动范围,基于所述抖动范围随机调整最短路径中各像素点的位置,进而将所述最短路径转换为随机路径,即生成一条从所述指针到点击坐标的无规律路径,避免被网站监听到;
60.步骤s42、设定一移动速度范围,将所述指针以移动速度范围内的任意速度,通过所述随机路径移动到按钮上。
61.所述步骤s50具体为:
62.设定一释放时长范围,通过mousepressed指令触发所述指针点击按钮,所述按钮点击完成后,经过所述释放时长范围内的任意时长,通过mousereleased指令触发所述指针释放点击,完成人工点击的模拟。
63.所述步骤s50还包括:设定一执行所述mousepressed指令的次数阈值以及一周期,在一个所述周期内,基于所述次数阈值控制各页面执行mousepressed指令的次数,避免同个页面不断执行重复的任务而被拦截。
64.所述释放时长范围基于人们实际点击鼠标后的释放时长设定,例如根据实际点击鼠标的大数据缺点释放时长范围为(0.5s,1s),则在该范围内的任意时长触发点击的释放,不仅满足人工实际点击的规律,又满足随机性,避免被网站监听到而被拦截,例如经过0.6s的时长后释放点击。
65.所述mousepressed指令基于指针的坐标生成,代码举例如下:
[0066][0067]
所述mousereleased指令基于指针的坐标以及释放时长范围生成,代码举例如下:
[0068][0069][0070]
本发明一种基于chrome插件模拟人工点击系统的较佳实施例,包括如下模块:
[0071]
插件启动模块,用于在chrome浏览器上启动拥有debugger权限的插件;通过拥有debugger权限的插件,能将event.istrusted=false改为event.istrusted=true,使得本发明不再依赖python+webdriver的环境,使用纯粹的js脚本就能实现event.istrusted=true,进而进行人工点击按钮的模拟;
[0072]
按钮移动模块,用于基于所述插件,将待点击的按钮自动移动到页面的可视区域;
[0073]
指针生成模块,用于设定一停留时长范围,在所述可视区域内的任意位置,随机生成一鼠标的指针,对所述指针进行停留时长范围内的任意时长的停留;
[0074]
随机路径创建模块,用于创建一所述指针到按钮的随机路径,基于所述随机路径将指针移动到按钮上;
[0075]
模拟点击模块,用于通过mousepressed指令触发所述指针点击按钮,通过mousereleased指令触发所述指针释放点击,完成人工点击的模拟。
[0076]
具体实施时,可设定一错误率,基于所述错误率控制指针移动和点击的失败,并重新进行所述指针的移动和点击,以模拟人为操作的失误。
[0077]
所述插件启动模块具体为:
[0078]
在chrome浏览器上启动拥有debugger权限的插件,并将所述插件加载到待点击的按钮所在的页面(tab),代码举例如下:
[0079]
chrome.debugger.attach(debuggee target,string requiredversion,function callback)。
[0080]
所述按钮移动模块具体为:
[0081]
基于所述插件的debugger权限,通过api接口将待点击的按钮自动移动到页面的可视区域,代码举例如下:
[0082]
document.getelementbyid(

xx’).scrollintoview()。
[0083]
所述随机路径创建模块具体包括:
[0084]
路径规划单元,用于在所述按钮的区域内随机生成一点击坐标,规划一所述指针
到点击坐标的最短路径;
[0085]
设定一抖动范围,基于所述抖动范围随机调整最短路径中各像素点的位置,进而将所述最短路径转换为随机路径,即生成一条从所述指针到点击坐标的无规律路径,避免被网站监听到;
[0086]
指针移动单元,用于设定一移动速度范围,将所述指针以移动速度范围内的任意速度,通过所述随机路径移动到按钮上。
[0087]
所述模拟点击模块具体为:
[0088]
设定一释放时长范围,通过mousepressed指令触发所述指针点击按钮,所述按钮点击完成后,经过所述释放时长范围内的任意时长,通过mousereleased指令触发所述指针释放点击,完成人工点击的模拟。
[0089]
所述步骤s50还包括:设定一执行所述mousepressed指令的次数阈值以及一周期,在一个所述周期内,基于所述次数阈值控制各页面执行mousepressed指令的次数,避免同个页面不断执行重复的任务而被拦截。
[0090]
所述释放时长范围基于人们实际点击鼠标后的释放时长设定,例如根据实际点击鼠标的大数据缺点释放时长范围为(0.5s,1s),则在该范围内的任意时长触发点击的释放,不仅满足人工实际点击的规律,又满足随机性,避免被网站监听到而被拦截,例如经过0.6s的时长后释放点击。
[0091]
所述mousepressed指令基于指针的坐标生成,代码举例如下:
[0092][0093][0094]
所述mousereleased指令基于指针的坐标以及释放时长范围生成,代码举例如下:
[0095][0096]
综上所述,本发明的优点在于:
[0097]
通过在chrome浏览器上启动拥有debugger权限的插件,基于插件的debugger权限将按钮自动移动到页面的可视区域,即通过插件让event.istrusted的取值始终为true,避免被网站拦截;通过创建随机路径、停留时长范围、释放时长范围以及移动速度范围,用于模拟人工移动鼠标时路径的随机性、停留和释放时长的随机性、移动速度的随机性,避免网站通过鼠标的运动轨迹、停留和释放时长、移动速度识别到是机器人在操作而进行拦截,最终实现模拟人工点击按钮,极大的提升了网站数据获取效率。
[0098]
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1