1.一种对浏览器中的用户操作进行录制的方法,其特征在于,包括:
启动对用户操作的录制;
保存当前浏览器的配置信息;
采集键盘操作时的操作消息,和/或鼠标操作时的操作消息,生成操作记录;
将所述浏览器的配置信息和操作记录转换成单次操作程序块进行保存;
其中,所述采集键盘操作时的操作消息,和/或鼠标操作时的操作消息,生成操作记录的步骤包括:
采集键盘的录入操作和切换操作;
和/或采集鼠标的移动事件和点击事件;
获取所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件时保存在HookProc函数的lParam参数信息,其中,所述HookProc函数是记录操作的消息函数;
依据该lParam参数信息生成对应该键盘和/或鼠标操作的操作记录;
其中,所述采集键盘操作时的操作消息,和/或鼠标操作时的操作消息,生成操作记录的步骤进一步包括:
分析所生成的操作记录中的lParam参数信息;
删除所述鼠标移动事件的时间间隔低于预置的无效时间阈值的操作;
将所述键盘操作之前的时间间隔,修改为预置的时间;
将所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件按序记录生成操作记录。
2.如权利要求1所述的方法,其特征在于,所述保存当前浏览器的配置信息的步骤包括:
保存当前浏览器的窗口大小和位置信息;
保存界面工具栏、状态栏和收藏栏的设置信息。
3.如权利要求1所述的方法,其特征在于,所述采集键盘的录入操作和切换操作的步骤进一步包括:
启动文本编辑工具,将登录信息输入至该文本编辑工具;
将该输入的文本格式的登录信息加密,并写入到所述lParam参数信息中。
4.如权利要求1所述的方法,其特征在于,所述采集鼠标的移动事件和点击事件包括:
监控鼠标的移动事件和点击事件,当移动事件触发后,获取当前鼠标的坐标和颜色;
当发生鼠标点击事件时,把之前移动事件保存的坐标和颜色保存到点击颜色参数clickcolor中。
5.如权利要求2所述的方法,其特征在于,所述将所述浏览器的配置信息和操作记录转换成单次操作程序块进行保存的步骤包括:
保存进行每次所述生成操作记录的操作时对应的浏览器窗口大小和位置信息以及界面工具栏、状态栏和收藏栏的设置信息;
将所述浏览器的配置信息和操作记录保存在同一操作程序块中,作为单次操作程序块进行保存。
6.如权利要求1所述的方法,其特征在于,所述预置的无效时间阈值为20毫秒,所述预置的时间为5毫秒。
7.如权利要求1所述的方法,其特征在于,所述启动对用户操作的录制步骤包括:
设置预置的录制操作的快捷方式或者快捷键;
点击启动该快捷方式或者快捷键。
8.如权利要求7所述的方法,其特征在于,进一步包括:
点击所述预置的快捷方式或者快捷键结束录制操作;
在生成的单次操作程序块中删除点击预置的快捷方式或者快捷键结束录制的操作记录。
9.一种基于权利要求1所述的方法中所记录的单次操作程序块对浏览器中的操作进行回放的方法,其特征在于,包括:
加载所述单次操作程序块中的浏览器配置信息;
读取所述操作记录,还原为键盘操作时的操作消息,和/或鼠标操作时的操作消息;
根据所述键盘操作时的操作消息,和/或鼠标操作时的操作消息在浏览器目标位置执行对应操作;
其中,所述加载所述单次操作程序块中的浏览器配置信息的步骤包括:
解析所述单次操作程序块中的浏览器配置信息;
获取每次操作记录中的操作进行时浏览器的窗口大小和位置信息,以及界面工具栏、状态栏和收藏栏的设置信息;
所述根据键盘操作时的操作消息,和/或鼠标操作时的操作消息在浏览器目标位置执行对应操作的步骤包括:
通过调用PlayProc的消息回放函数,解析所述键盘操作时的操作消息,和/或鼠标操作时的操作消息,其中,所述PlayProc的消息回放函数为执行操作消息回放时调用的函数;
按顺序获取所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件;
依据获取的操作记录中的操作进行时浏览器的窗口大小和位置信息,以及界面工具栏、状态栏和收藏栏的设置信息,对应地按顺序执行所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件。
10.如权利要求9所述的方法,其特征在于,还包括:
通过浏览器的DocumentComplete函数,判断所述操作消息是否正常完成,其中,所述DocumentComplete函数用于判断所述操作消息执行的页面是否加载完成;
若是,则结束当前程序;
若否,则提示用户进行重新录制。
11.如权利要求10所述的方法,其特征在于,所述判断所述操作消息是否正常完成的步骤进一步包括:
检查所述当前浏览器配置信息是否加载完毕;
检查所述操作记录中的操作消息是否返回完毕。
12.如权利要求9所述的方法,其特征在于,所述读取操作记录,还原为键盘操作时的操作消息,和/或鼠标操作时的操作消息的步骤包括:
将所述操作记录返回到lParam参数信息的指向的位置;
解析所述lParam参数信息指向的位置处的操作记录,并还原为键盘操作时的操作消息,和/或鼠标操作时的操作消息。
13.如权利要求9所述的方法,其特征在于,所述根据鼠标操作时的操作消息在浏览器目标位置执行对应操作的步骤包括:
当鼠标移动到目标位置后,获取目标位置处的颜色值,对比所述单次操作程序块保存的点击颜色参数clickcolor,如果相等,则在该目标位置处执行对应的鼠标操作记录。
14.一种对浏览器中的用户操作进行录制的装置,其特征在于,包括:
录制启动单元,其配置为启动对用户操作的录制;
配置信息保存单元,其配置为保存当前浏览器的配置信息;
操作记录生成模块,其配置为采集键盘操作时的操作消息,和/或鼠标操作时的操作消息,生成操作记录;
操作程序块保存模块,其配置为将所述浏览器的配置信息和操作记录转换成单次操作程序块进行保存;
其中,所述操作记录生成模块包括:
键盘操作采集子模块,其配置为采集键盘的录入操作和切换操作;
鼠标事件采集子模块,其配置为采集鼠标的移动事件和点击事件;
操作和事件保存子模块,其配置为获取所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件时保存在HookProc函数的lParam参数信息,其中,所述HookProc函数是记录操作的消息函数;
操作记录生成子模块,其配置为依据该lParam参数信息生成对应该键盘和/或鼠标操作的操作记录;
其中,所述操作记录生成模块进一步包括:
操作记录分析子模块,其配置为分析所生成的操作记录中的lParam参数信息;
无效操作删除子模块,其配置为删除所述鼠标移动事件的时间间隔低于预置的无效时间阈值的操作;
时间间隔修改子模块,其配置为将所述键盘操作之前的时间间隔,修改为预置的时间;
操作记录转换子模块,其配置为将所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件按序记录生成操作记录。
15.如权利要求14所述的装置,其特征在于,所述配置信息保存单元包括:
空间信息保存子模块,其配置为保存当前浏览器的窗口大小和位置信息;
功能信息保存子模块,其配置为保存界面工具栏、状态栏和收藏栏的设置信息。
16.如权利要求15所述的装置,其特征在于,所述操作程序块保存模块包括:
设置信息保存子模块,其配置为保存进行每次所述生成操作记录的操作时对应的浏览器窗口大小和位置信息以及界面工具栏、状态栏和收藏栏的设置信息;
程序块保存子模块,其配置为将所述浏览器的配置信息和操作记录保存在同一操作程序块中,作为单次操作程序块进行保存。
17.一种基于权利要求14所述的装置中的操作程序块保存模块中所记录的单次操作程序块对浏览器中的操作进行回放的装置,其特征在于,包括:
配置信息加载模块,其配置为加载所述单次操作程序块中的浏览器配置信息;
操作记录读取模块,其配置为读取所述操作记录,还原为键盘操作时的操作消息,和/或鼠标操作时的操作消息;
对应操作执行模块,其配置为根据所述键盘操作时的操作消息,和/或鼠标操作时的操作消息在浏览器目标位置执行对应操作;
其中,所述配置信息加载模块,还配置为:
解析所述单次操作程序块中的浏览器配置信息;
获取每次操作记录中的操作进行时浏览器的窗口大小和位置信息,以及界面工具栏、状态栏和收藏栏的设置信息;
所述对应操作执行模块,还配置为:
通过调用PlayProc的消息回放函数,解析所述键盘操作时的操作消息,和/或鼠标操作时的操作消息,其中,所述PlayProc的消息回放函数为执行操作消息回放时调用的函数;
按顺序获取所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件;
依据获取的操作记录中的操作进行时浏览器的窗口大小和位置信息,以及界面工具栏、状态栏和收藏栏的设置信息,对应地按顺序执行所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件。
18.如权利要求17所述的装置,其特征在于,还包括:
回放操作判断模块,其配置为通过浏览器的DocumentComplete函数,判断所述操作消息是否正常完成,其中,所述DocumentComplete函数用于判断所述操作消息执行的页面是否加载完成;
程序结束模块,其配置为结束当前程序;
重录制提示模块,其配置为提示用户进行重新录制。
19.如权利要求18所述的装置,其特征在于,所述回放操作判断模块包括:
环境设置检查子模块,其配置为检查所述当前浏览器配置信息是否加载完毕;
操作消息检查子模块,其配置为检查所述操作记录中的操作消息是否返回完毕。
一种对浏览器中的用户操作进行录制和回放的方法和装置\n技术领域\n[0001] 本发明涉及程序智能操作的技术领域,特别是涉及一种对浏览器中的用户操作进行录制和回放的方法,以及,一种对浏览器中的用户操作进行录制和回放的装置。\n背景技术\n[0002] 现今的电脑应用越来越广泛,许多事情都可以通过网络来解决,但是对于一些老人或特殊人群(如伤残人士),复杂的电脑操作让他们越来越力不从心。因此,需要借助一些程序智能操作来提供便利。如:可以将一项程序操作录制下来,生成一个快捷方式,下次需要使用时可以只点击快捷方式,系统将自动完成所述程序操作。\n[0003] 现有的一些解决技术是:QuickTestProfessional(简称QTP)是Mercury公司开发的一种自动测试工具,当用户操作的时候,QTP的录制机制能够将用户的每一个操作步骤及被操作的对象记录下来,自动生成测试脚本语句供用户随时回放操作。QTP提供了3种录制方式:正常录制(Normal Recording)、模拟录制(Analog Recording)、低级录制(Low Level Recording)。\n[0004] 但是,QTP的录制方式存在很多不足的地方。\n[0005] 1、正常录制模式是直接对标准控件的操作,对非标准控件无法识别;\n[0006] 2、模拟录制模式是模拟鼠标、键盘的轨迹和按键操作,有很多无效操作,而且当窗口坐标移动的时候,很容易误操作;\n[0007] 3、低级录制模式是把所有的对象识别为WinObject,对位置要求更严格不能移动窗口,录制时需要设定x/y坐标,过程过于复杂。\n[0008] 并且QTP软件过于庞大(几百MB),是独立的程序,不能方便的集成在浏览器中。\n[0009] 因此,本领域技术人员迫切需要解决的问题是:提供一种对浏览器中的用户操作进行录制和回放的方法和装置,用以准确完整的录制用户所使用的程序的操作步骤,并能回放。提高录制和回放过程的稳定性和可靠性,简化用户的操作;并且能够将功能方便的集成在浏览器中。\n发明内容\n[0010] 本发明所要解决的技术问题是提供一种对浏览器中的用户操作进行录制和回放的方法,用以准确完整的录制用户所使用的程序的操作步骤,并能回放。提高录制和回放过程的稳定性和可靠性,简化用户的操作;并且能够将功能方便的集成在浏览器中。\n[0011] 相应的,本发明还提供了一种对浏览器中的用户操作进行录制和回放的装置,用以保障上述方法在实际中的应用。\n[0012] 为了解决上述问题,本发明公开了一种对浏览器中的用户操作进行录制的方法,其特征在于,包括:\n[0013] 启动对用户操作的录制;\n[0014] 保存当前浏览器的配置信息;\n[0015] 采集键盘操作时的操作消息,和/或鼠标操作时的操作消息,生成操作记录;\n[0016] 将所述浏览器的配置信息和操作记录转换成单次操作程序块进行保存。\n[0017] 优选的是,所述保存当前浏览器的配置信息的步骤可以包括:\n[0018] 保存当前浏览器的窗口大小和位置信息;\n[0019] 保存界面工具栏、状态栏和收藏栏的设置信息。\n[0020] 优选的是,所述采集键盘操作时的操作消息,和/或鼠标操作时的操作消息,生成操作记录的步骤可以包括:\n[0021] 采集键盘的录入操作和切换操作;\n[0022] 和/或采集鼠标的移动事件和点击事件;\n[0023] 获取所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件时保存在HookProc函数的lParam参数;\n[0024] 依据该lParam参数信息生成对应该键盘和/或鼠标操作的操作记录。\n[0025] 优选的是,所述采集键盘的录入操作和切换操作的步骤可以进一步包括:\n[0026] 启动文本编辑工具,将登录信息输入至该文本编辑工具;\n[0027] 将该输入的文本格式的登录信息加密,并写入到所述lParam中。\n[0028] 优选的是,所述采集鼠标的移动事件和点击事件可以包括:\n[0029] 监控鼠标的移动事件和点击事件,当移动事件触发后,获取当前鼠标的坐标和颜色;\n[0030] 当发生鼠标点击事件时,把之前移动事件保存的坐标和颜色保存到点击颜色参数clickcolor中。\n[0031] 优选的是,所述将所述浏览器的配置信息和操作记录转换成单次操作程序块进行保存的步骤可以包括:\n[0032] 保存进行每次所述记录操作时对应的浏览器窗口大小和位置信息以及界面工具栏、状态栏和收藏栏的设置信息;\n[0033] 将所述浏览器的配置信息和操作记录保存在同一操作程序块中,作为单次操作程序块进行保存。\n[0034] 优选的是,所述的方法,可以进一步包括:\n[0035] 分析所生成的操作记录中的lParam参数信息;\n[0036] 删除所述鼠标移动事件的时间间隔低于预置的无效时间阈值的操作;\n[0037] 将所述键盘操作之前的时间间隔,修改为预置的时间;\n[0038] 将所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件按序记录生成操作记录。\n[0039] 优选的是,所述预置的无效时间阈值可以为20毫秒,所述预置的时间可以为5毫秒。\n[0040] 优选的是,所述启动对用户操作的录制步骤可以包括:\n[0041] 设置预置的录制操作的快捷方式或者快捷键;\n[0042] 点击启动该快捷方式或者快捷键。\n[0043] 优选的是,所述的方法,可以进一步包括:\n[0044] 点击所述预置的快捷方式或者快捷键结束录制操作;\n[0045] 在生成的操作程序块中删除点击预置的快捷方式或者快捷键结束录制的操作记录。\n[0046] 本发明还公开了一种基于权利要求1中所述记录的操作程序块对浏览器中的登录操作进行回放的方法,具体可以包括:\n[0047] 加载所述单次操作程序块中的浏览器配置信息;\n[0048] 读取所述操作记录,还原为键盘操作时的操作消息,和/或鼠标操作时的操作消息;\n[0049] 根据所述键盘操作时的操作消息,和/或鼠标操作时的操作消息在浏览器目标位置执行对应操作。\n[0050] 优选的是,所述的方法,还可以包括:\n[0051] 通过WebBrowser的DocumentComplete函数,判断所述操作回放是否正常完成;\n[0052] 若是,则结束所述操作录制和回放程序;\n[0053] 若否,则提示用户进行重新录制。\n[0054] 优选的是,所述判断所述操作回放是否正常完成的步骤可以进一步包括:\n[0055] 检查所述当前浏览器配置信息是否加载完毕;\n[0056] 检查所述操作记录中的操作消息是否返回完毕。\n[0057] 优选的是,所述读取操作记录,还原为键盘操作时的操作消息,和/或鼠标操作时的操作消息的步骤可以包括:\n[0058] 将所述操作记录返回到lParam的指向的位置;\n[0059] 解析所述lParam指向的位置处的操作记录,并还原为键盘操作时的操作消息,和/或鼠标操作时的操作消息。\n[0060] 优选的是,所述加载所述单次操作程序块中的浏览器配置信息的步骤可以包括:\n[0061] 解析所述单次操作程序块中的浏览器配置信息;\n[0062] 获取每次操作记录中的操作进行时浏览器的窗口大小和位置信息,以及界面工具栏、状态栏和收藏栏的设置信息。\n[0063] 优选的是,所述根据键盘操作时的操作消息,和/或鼠标操作时的操作消息在浏览器目标位置执行对应操作的步骤可以包括:\n[0064] 通过调用PlayProc的消息回放函数,解析所述键盘操作时的操作消息,和/或鼠标操作时的操作消息;\n[0065] 按顺序获取所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件;\n[0066] 依据获取的操作记录中的操作进行时浏览器的窗口大小和位置信息,以及界面工具栏、状态栏和收藏栏的设置信息,对应地按顺序执行所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件。\n[0067] 优选的是,所述根据鼠标操作时的操作消息在浏览器目标位置执行对应操作的步骤可以包括:\n[0068] 当鼠标移动到目标位置后,获取目标位置处的颜色值,对比操作程序块保存的点击颜色参数clickcolor,如果相等,则在该目标位置处执行对应的鼠标操作记录。\n[0069] 本发明同时公开了一种对浏览器中的用户操作进行录制的装置,具体可以包括:\n[0070] 录制启动单元,其配置为启动对用户操作的录制;\n[0071] 配置信息保存单元,其配置为保存当前浏览器的配置信息;\n[0072] 操作记录生成模块,其配置为采集键盘操作时的操作消息,和/或鼠标操作时的操作消息,生成操作记录;\n[0073] 操作程序块保存模块,其配置为将所述浏览器的配置信息和操作记录转换成单次操作程序块进行保存。\n[0074] 优选的是,所述配置信息保存单元可以包括:\n[0075] 空间信息保存子模块,其配置为保存当前浏览器的窗口大小和位置信息;\n[0076] 功能信息保存子模块,其配置为保存界面工具栏、状态栏和收藏栏的设置信息。\n[0077] 优选的是,所述操作记录生成模块可以包括:\n[0078] 键盘操作采集子模块,其配置为采集键盘的录入操作和切换操作;\n[0079] 鼠标事件采集子模块,其配置为采集鼠标的移动事件和点击事件;\n[0080] 操作和事件保存子模块,其配置为获取所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件时保存在HookProc函数的lParam参数;\n[0081] 操作记录生成子模块,其配置为依据该lParam参数信息生成对应该键盘和/或鼠标操作的操作记录。\n[0082] 优选的是,所述操作程序块保存模块可以包括:\n[0083] 设置信息保存子模块,其配置为保存进行每次所述记录操作时对应的浏览器窗口大小和位置信息以及界面工具栏、状态栏和收藏栏的设置信息;\n[0084] 程序块保存子模块,其配置为将所述浏览器的配置信息和操作记录保存在同一操作程序块中,作为单次操作程序块进行保存。\n[0085] 优选的是,所述的装置,可以进一步包括:\n[0086] 操作记录分析子模块,其配置为分析所生成的操作记录中的lParam参数信息;\n[0087] 无效操作删除子模块,其配置为删除所述鼠标移动事件的时间间隔低于预置的无效时间阈值的操作;\n[0088] 时间间隔修改子模块,其配置为将所述键盘操作之前的时间间隔,修改为预置的时间;\n[0089] 将所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件按序记录生成操作记录。\n[0090] 本发明还公开了一种基于权利要求18中所述记录的操作程序块对浏览器中的登录操作进行回放的装置,具体可以包括:\n[0091] 配置信息加载模块,其配置为加载所述单次操作程序块中的浏览器配置信息;\n[0092] 操作记录读取模块,其配置为读取所述操作记录,还原为键盘操作时的操作消息,和/或鼠标操作时的操作消息;\n[0093] 对应操作执行模块,其配置为根据所述键盘操作时的操作消息,和/或鼠标操作时的操作消息在浏览器目标位置执行对应操作。\n[0094] 优选的是,所述的装置,还可以包括:\n[0095] 回放操作判断模块,其配置为通过WebBrowser的DocumentComplete函数,判断所述操作回放是否正常完成;\n[0096] 程序结束模块,其配置为结束所述操作录制和回放程序;\n[0097] 重录制提示模块,其配置为提示用户进行重新录制。\n[0098] 优选的是,所述回放操作判断模块可以包括:\n[0099] 环境设置检查子模块,其配置为检查所述当前系统环境设置是否加载完毕;\n[0100] 操作消息检查子模块,其配置为检查所述操作记录中的操作消息是否返回完毕。\n[0101] 与现有技术相比,本发明具有以下优点:\n[0102] 本发明通过配置操作录制和回放程序生成消息录制子程序和消息回放子程序。由消息录制子程序采集键鼠操作时的操作消息,生成操作记录;将相应的一组操作记录打包转换成单次操作程序块。点击单次操作程序块,消息回放子程序启动,将所述操作记录中的操作消息返回到lParam指向的区域中;系统执行所述操作消息对应的键鼠操作,完成对应单次操作程序块中键鼠操作的回放。\n[0103] 并且,通过设置HookProc函数作为记录操作的消息录制函数,生成消息录制子程序;设置HookProc函数的lParam对应的存储位置,生成记录操作保存位置;设置PlayProc作为记录操作的消息回放函数,生成消息回放子程序。这样方便了操作录制和回放程序在浏览器中的集成。\n附图说明\n[0104] 图1是本发明一种对浏览器中的用户操作进行录制的方法实施例的流程图;\n[0105] 图2是本发明一种对浏览器中的用户操作进行录制的方法实施例中步骤101的子步骤流程图;\n[0106] 图3是本发明一种对浏览器中的用户操作进行录制的方法实施例中步骤102的子步骤流程图;\n[0107] 图4是本发明一种对浏览器中的用户操作进行录制的方法实施例中步骤103的子步骤流程图;\n[0108] 图5是本发明一种对浏览器中的用户操作进行录制的方法实施例中步骤104的子步骤流程图;\n[0109] 图6是本发明一种基于记录的操作程序块对浏览器中的登录操作进行回放的方法实施例的流程图;\n[0110] 图7是本发明一种基于记录的操作程序块对浏览器中的登录操作进行回放的方法实施例中步骤201的子步骤流程图;\n[0111] 图8是本发明一种基于记录的操作程序块对浏览器中的登录操作进行回放的方法实施例中步骤202的子步骤流程图;\n[0112] 图9是本发明一种基于记录的操作程序块对浏览器中的登录操作进行回放的方法实施例中步骤203的子步骤流程图;\n[0113] 图10是本发明一种基于记录的操作程序块对浏览器中的登录操作进行回放的方法实施例中步骤204的子步骤流程图;\n[0114] 图11是本发明一种对浏览器中的用户操作进行录制的装置实施例的结构框图;\n[0115] 图12是本发明一种对浏览器中的用户操作进行录制的装置实施例中记录生成模块303的子模块结构框图;\n[0116] 图13是本发明一种对浏览器中的用户操作进行录制的装置实施例中操作程序块保存模块304的子模块结构框图;\n[0117] 图14是本发明一种基于记录的操作程序块对浏览器中的登录操作进行回放的装置实施例的结构框图。\n具体实施方式\n[0118] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。\n[0119] 本发明实施例的核心构思之一在于,通过配置操作录制和回放程序生成消息录制子程序和消息回放子程序。由消息录制子程序采集键鼠操作时的操作消息,生成操作记录;\n将相应的一组操作记录打包转换成单次操作程序块。点击单次操作程序块,消息回放子程序启动,将所述操作记录中的操作消息返回到lParam指向的区域中;系统执行所述操作消息对应的键鼠操作,完成对应单次操作程序块中键鼠操作的回放。\n[0120] 并且,通过设置HookProc函数作为记录操作的消息录制函数,生成消息录制子程序;设置HookProc函数的lParam对应的存储位置,生成记录操作保存位置;设置PlayProc作为记录操作的消息回放函数,生成消息回放子程序。这样方便了操作录制和回放程序在浏览器中的集成。\n[0121] 参照图1,示出了一种对浏览器中的用户操作进行录制的方法实施例的流程图,具体可以包括以下步骤:\n[0122] 步骤101、启动对用户操作的录制;\n[0123] 在本发明的一种优选实施例中,所述步骤101具体可以包括以下子步骤:\n[0124] 子步骤S01、设置预置的录制操作的快捷方式或者快捷键;\n[0125] 子步骤S02、点击启动该快捷方式或者快捷键。\n[0126] 子步骤S03、点击所述预置的快捷方式或者快捷键结束录制操作;\n[0127] 子步骤S04、在生成的操作程序块中删除点击预置的快捷方式或者快捷键结束录制的操作记录。\n[0128] 步骤102、保存当前浏览器的配置信息;\n[0129] 在本发明的一种优选实施例中,所述步骤102具体可以包括以下子步骤:\n[0130] 子步骤S11、保存当前浏览器的窗口大小和位置信息;\n[0131] 子步骤S12、保存界面工具栏、状态栏和收藏栏的设置信息。\n[0132] 在具体实现中,浏览器的窗口大小和位置,以及浏览器界面中工具栏、状态栏和收藏栏的设置信息可以影响录制和回放过程中鼠标的坐标位置的准确性,所以在录制和回放时要保证浏览器的窗口大小和位置,以及浏览器界面中工具栏、状态栏和收藏栏的设置信息的一致性。\n[0133] 在具体实现中,保存当前系统配置信息可以包括保存Windows系统的配置信息和保存当前浏览器的配置信息。\n[0134] 如:360极速浏览器为例,Preferences文件记录了窗口大小和位置、是否启动收藏栏、状态栏等信息。\n[0135] 步骤103、采集键盘操作时的操作消息,和/或鼠标操作时的操作消息,生成操作记录;\n[0136] 在本发明的一种优选实施例中,所述步骤103具体可以包括以下子步骤:\n[0137] 子步骤S21、采集键盘的录入操作和切换操作;\n[0138] 在本发明的一种优选实施例中,所述子步骤S21具体可以包括以下单元:\n[0139] 启动文本编辑工具,将登录信息输入至该文本编辑工具;\n[0140] 将该输入的文本格式的登录信息加密,并写入到所述lParam中。\n[0141] 在具体实现中,可以采用录制函数来记录操作消息,如:\n[0142] SetWindowsHookEx(idHook:WH_JOURNALRECORD;lpfn:HookProc;hmod:\nHInstance;dwThreadId:0)其中WH_JOURNALRECORD是“录制”的调用方法,HookProc是记录操作的消息函数,每当有鼠标键盘消息发生时,系统都会调用该函数,消息信息就保存在HookProc函数的lParam中,在lParam中的消息信息可以生成当前操作记录。\n[0143] 子步骤S22、和/或采集鼠标的移动事件和点击事件;\n[0144] 在本发明的一种优选实施例中,所述子步骤S22具体可以包括以下单元:\n[0145] 监控鼠标的移动事件和点击事件,当移动事件触发后,获取当前鼠标的坐标和颜色;\n[0146] 当发生鼠标点击事件时,把之前移动事件保存的坐标和颜色保存到点击颜色参数clickcolor中。\n[0147] 在具体实现中,保存鼠标颜色判断点的操作可以为:\n[0148] 监控鼠标的移动事件和点击事件(用SetWindowsHookEx的WH_MOUSE方法挂全局勾子),当移动事件触发后,获取当前鼠标的坐标和颜色。当发生鼠标点击事件时,把之前移动事件保存的坐标和颜色保存到clickcolor中。\n[0149] 子步骤S23、获取所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件时保存在HookProc函数的lParam参数;\n[0150] 子步骤S24、依据该lParam参数信息生成对应该键盘和/或鼠标操作的操作记录。\n[0151] 在具体实现中,Windows提供API函数SetwindowsHookEx来建立一个Hook,可以通过这个函数可以将一个程序添加到Hook链中监视Windows消息,函数语法为:\nSetWindowsHookEx(idHook:Integer;lpfn:TFNHookProc;hmod:HINST;dwThreadId:DWORD)其中参数idHook指定建立的监视函数类型。WH_JOURNALRECORD和WH_JOURNALPLAYBACK是其配置为监视和回放键盘、鼠标操作。\n[0152] 具体实现中,在Windows系统中,文档(Document)对象是Windows对象的一部分,可以通过window.document属性对其进行访问。每个载入浏览器的HTML(超文本标记语言,Hypertext Markup Language)文档都会成为Document对象。运用Document对象可以从脚本中对HTML页面中的所有元素进行访问,比如:点击click()、查找指定id的元素getElementById()等用户操作。其配置为将操作录制和回放程序集成在浏览器中。\n[0153] 在具体实现中,当需要输入银行账户、密码的时候,按[*]键打开notepad程序,把用户名密码输入到notepad中,并用代码分析文本信息的方式解释为代码语言,集成到录制的函数lParam中。关闭notepad继续网银操作。这样就可以将涉及密码和认证的网银等操作生成操作记录。\n[0154] 在本发明的一种优选实施例中,所述步骤103进一步可以包括以下子步骤:\n[0155] 子步骤S25、分析所生成的操作记录中的lParam参数信息;\n[0156] 子步骤S26、删除所述鼠标移动事件的时间间隔低于预置的无效时间阈值的操作;\n[0157] 子步骤S27、将所述键盘操作之前的时间间隔,修改为预置的时间;\n[0158] 子步骤S28、将所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件按序记录生成操作记录。\n[0159] 在本发明的一种优选实施例中,所述预置的无效时间阈值可以为20毫秒,所述预置的时间可以为5毫秒。\n[0160] 在具体实现中,打包前分析操作记录。当鼠标移动事件的时间间隔为20ms(毫秒)之内的时候,可以删除该等待时间和其之前的一个鼠标移动事件。目的是删除无效的鼠标移动操作,让回放更快的执行。当键盘操作之前有时间间隔的时候,可以修改等待时间为\n5ms;等待时间的间隔可以根据客户需要设定,但是为了避免出现宕机和卡的情况,最低设定可以控制为5ms。\n[0161] 步骤104、将所述浏览器的配置信息和操作记录转换成单次操作程序块进行保存。\n[0162] 在本发明的一种优选实施例中,所述步骤104具体可以包括以下子步骤:\n[0163] 子步骤S31、保存进行每次所述记录操作时对应的浏览器窗口大小和位置信息以及界面工具栏、状态栏和收藏栏的设置信息;\n[0164] 子步骤S32、将所述浏览器的配置信息和操作记录保存在同一操作程序块中,作为单次操作程序块进行保存。\n[0165] 在具体实现中,当结束录制后,可以删除最后一个点击图标的操作。集成在浏览器中的操作录制和回放程序可以用插件的形式实现,会在浏览器上显示一个图标。启动和停止消息录制子程序都需要点击图标来完成,因此结束录制的点击操作不是用户的有效操作,故而删除。\n[0166] 在具体实现中,可以将一次完成的操作记录生成对应的操作程序块。为了方便客户使用,可以将操作程序块在桌面或文件夹生成快捷方式,用户点击快捷方式既可以回放操作程序块中的操作记录。\n[0167] 参照图6,示出了一种基于记录的操作程序块对浏览器中的登录操作进行回放的方法实施例的流程图,具体可以包括以下步骤:\n[0168] 步骤201、加载所述单次操作程序块中的浏览器配置信息;\n[0169] 在本发明的一种优选实施例中,所述步骤201具体可以包括以下子步骤:\n[0170] 子步骤S41、解析所述单次操作程序块中的浏览器配置信息;\n[0171] 子步骤S42、获取每次操作记录中的操作进行时浏览器的窗口大小和位置信息,以及界面工具栏、状态栏和收藏栏的设置信息。\n[0172] 步骤202、读取所述操作记录,还原为键盘操作时的操作消息,和/或鼠标操作时的操作消息;\n[0173] 在本发明的一种优选实施例中,所述步骤202具体可以包括以下子步骤:\n[0174] 子步骤S51、将所述操作记录返回到lParam的指向的位置;\n[0175] 子步骤S52、解析所述lParam指向的位置处的操作记录,并还原为键盘操作时的操作消息,和/或鼠标操作时的操作消息。\n[0176] 步骤203、根据所述键盘操作时的操作消息,和/或鼠标操作时的操作消息在浏览器目标位置执行对应操作;\n[0177] 在本发明的一种优选实施例中,所述步骤203具体可以包括以下子步骤:\n[0178] 子步骤S61、通过调用PlayProc的消息回放函数,解析所述键盘操作时的操作消息,和/或鼠标操作时的操作消息;\n[0179] 子步骤S62、按顺序获取所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件;\n[0180] 子步骤S63、依据获取的操作记录中的操作进行时浏览器的窗口大小和位置信息,以及界面工具栏、状态栏和收藏栏的设置信息,对应地按顺序执行所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件;\n[0181] 子步骤S64、当鼠标移动到目标位置后,获取目标位置处的颜色值,对比操作程序块保存的点击颜色参数clickcolor,如果相等,则在该目标位置处执行对应的鼠标操作记录。\n[0182] 在具体实现中,系统环境设置可以包括录制过程的各项元素的配置信息。其中,对于判断元素是否已展现的方法,可以将操作消息与对录制过程中在操作消息生成的对应位置的配置信息是否相同。\n[0183] 如:当鼠标移动到目标位置后,获取鼠标的颜色,对比之前的插入的颜色clickcolor。如果相等,说明所需操作元素已可以点击。如果鼠标没有在浏览器的区域内,不用判断。\n[0184] 以某浏览器为例,判断鼠标是否在浏览器页面内:\n[0185] 枚举所有窗口,保存类名为Internet Explorer_Server的句柄到MainHwnd。\n[0186] 然后用GetWindowRect函数获取页面的坐标。\n[0187] 步骤204、通过WebBrowser的DocumentComplete函数,判断所述操作回放是否正常完成;若是,则结束所述操作录制和回放程序;若否,则提示用户进行重新录制。\n[0188] 在具体实现中,可以通过操作消息执行的页面是否加载完成来判断操作消息是否顺利执行。如:用WebBrowser的DocumentComplete可以判断页面是否加载完成。\n[0189] 在本发明的一种优选实施例中,所述步骤204具体可以包括以下子步骤:\n[0190] 子步骤S71、检查所述当前浏览器配置信息是否加载完毕;\n[0191] 子步骤S72、检查所述操作记录中的操作消息是否返回完毕。\n[0192] 在具体实现中,回放操作记录可以打开操作录制和回放程序,选择回放操作;也可以点击对应的单次操作程序块,直接启动消息回放子程序。\n[0193] 回放鼠键操作的方法可以为:\n[0194] SetWindowsHookEx(idHook:WH_JOURNALPLAYBACK;lpfn:PlayProc;hmod:\nHInstance;dwThreadId:0)\n[0195] 其中WH_JOURNALPLAYBACK是“回放”的调用方法,PlayProc是消息回放函数,当系统可以执行操作消息回放时调用该函数,程序就将先前记录的操作消息值返回到lParam指向的区域中,系统就会执行该操作消息,从而实现了回放。\n[0196] 为了方便本领域技术人员更好地理解本发明,以下通过一个完整示例更进一步说明本发明:\n[0197] 1、在某浏览器中通过API函数SetwindowsHookEx建立记录操作的消息录制函数,生成消息录制子程序。并将函数的lParam对应的存储位置作为记录操作保存位置。利用PlayProc建立记录操作的消息回放函数,生成消息回放子程序。\n[0198] 2、打开某浏览器,启动所述操作录制和回放程序,准备将交水电的操作录制下来。\n首先保存当前浏览器的配置信息。\n[0199] 3、可以用SetWindowsHookEx的WH_MOUSE方法挂全局勾子监控鼠标的移动事件和点击事件,当移动事件触发后,获取当前鼠标的坐标和颜色。当发生鼠标点击事件时,把之前移动事件保存的坐标和颜色保存到clickcolor中。同时可以用HookProc消息函数获取鼠标的点击操作和键盘移动操作的操作消息保存在HookProc函数的lParam中,生成当前操作记录。\n[0200] 4、当需要转入网银页面,输入银行账号和密码的时候,打开notepad程序,把用户名密码输入到notepad中,并用代码分析文本信息的方式解释为代码语言,集成到录制的函数lParam中。将涉及密码和认证的网银等操作生成操作记录。\n[0201] 5、在将交水电的操作全部完成后,整理录制在函数的lParam的操作记录,删除最后一个点击图标的操作记录,将其他操作记录转换成操作消息值,按序打包为水电费网银提交的操作程序块。在桌面生成对应的快捷方式。\n[0202] 6、点击桌面生成的对应的快捷方式,打开水电费网银提交的操作程序块。启动消息回放子程序,可以加载;可以通过PlayProc是消息回放函数,将先前操作记录的操作消息值返回到lParam指向的区域中,系统就会执行对应的操作消息。根据对应的操作消息加载对应的浏览器配置信息和对应的页面。\n[0203] 7、发现对应的浏览器配置信息和对应的页面无法加载完成,则向用户发送提示信息;告知用户水电费网银提交的操作中部分页面、浏览器配置等元素出现更改,需要重新录制对应的完整操作。\n[0204] 需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。\n[0205] 参照图11,示出了一种对浏览器中的用户操作进行录制的装置实施例的结构框图,具体可以包括:\n[0206] 录制启动单元301,其配置为启动对用户操作的录制;\n[0207] 配置信息保存单元302,其配置为保存当前浏览器的配置信息;\n[0208] 在本发明的一种优选实施例中,所述配置信息保存单元302具体可以包括以下子模块:\n[0209] 空间信息保存子模块,其配置为保存当前浏览器的窗口大小和位置信息;\n[0210] 功能信息保存子模块,其配置为保存界面工具栏、状态栏和收藏栏的设置信息。\n[0211] 操作记录生成模块303,其配置为采集键盘操作时的操作消息,和/或鼠标操作时的操作消息,生成操作记录;\n[0212] 在本发明的一种优选实施例中,所述操作记录生成模块303具体可以包括以下子模块:\n[0213] 键盘操作采集子模块S81,其配置为采集键盘的录入操作和切换操作;\n[0214] 鼠标事件采集子模块S82,其配置为采集鼠标的移动事件和点击事件;\n[0215] 操作和事件保存子模块S83,其配置为获取所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件时保存在HookProc函数的lParam参数;\n[0216] 操作记录生成子模块S84,其配置为依据该lParam参数信息生成对应该键盘和/或鼠标操作的操作记录;\n[0217] 操作记录分析子模块S85,其配置为分析所生成的操作记录中的lParam参数信息;\n[0218] 无效操作删除子模块S86,其配置为删除所述鼠标移动事件的时间间隔低于预置的无效时间阈值的操作;\n[0219] 时间间隔修改子模块S87,其配置为将所述键盘操作之前的时间间隔,修改为预置的时间;\n[0220] 操作记录转换子模块S88,其配置为将所述键盘的录入操作和切换操作,和/或鼠标的移动事件和点击事件按序记录生成操作记录。\n[0221] 操作程序块保存模块304,其配置为将所述浏览器的配置信息和操作记录转换成单次操作程序块进行保存。\n[0222] 在本发明的一种优选实施例中,所述操作程序块保存模块304具体可以包括以下子模块:\n[0223] 设置信息保存子模块S91,其配置为保存进行每次所述记录操作时对应的浏览器窗口大小和位置信息以及界面工具栏、状态栏和收藏栏的设置信息;\n[0224] 程序块保存子模块S92,其配置为将所述浏览器的配置信息和操作记录保存在同一操作程序块中,作为单次操作程序块进行保存。\n[0225] 参照图14,示出了一种基于记录的操作程序块对浏览器中的登录操作进行回放的装置实施例的结构框图,具体可以包括:\n[0226] 配置信息加载模块401,其配置为加载所述单次操作程序块中的浏览器配置信息;\n[0227] 操作记录读取模块402,其配置为读取所述操作记录,还原为键盘操作时的操作消息,和/或鼠标操作时的操作消息;\n[0228] 对应操作执行模块403,其配置为根据所述键盘操作时的操作消息,和/或鼠标操作时的操作消息在浏览器目标位置执行对应操作;\n[0229] 回放操作判断模块404,其配置为通过WebBrowser的DocumentComplete函数,判断所述操作回放是否正常完成;\n[0230] 程序结束模块405,其配置为结束所述操作录制和回放程序;\n[0231] 重录制提示模块406,其配置为提示用户进行重新录制。\n[0232] 由于所述装置实施例基本相应于前述方法实施例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此就不赘述了。\n[0233] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。\n[0234] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。\n[0235] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。\n[0236] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。\n[0237] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。\n[0238] 上述本发明实施例中的方法、装置和服务器适用于各种网络或者客户端环境中,例如可以实现在诸如个人计算机设备之类的计算机设备中,或者可以实现在诸如移动电话、移动通信设备、个人数字助理(PDA)等其他便携式电子设备或者非便携式电子设备中。\n因此本领域技术人员要明确的是,本发明的保护范围并不限于PC上运行浏览器中的操作录制功能和操作回放功能,仅是出于描述的简洁和方便而在本发明实施例中采用了PC上运行浏览器中的操作录制功能和操作回放功能进行描述。\n[0239] 以上对本发明所提供的一种对浏览器中的用户操作进行录制的方法,一种基于记录的操作程序块对浏览器中的登录操作进行回放的方法;以及,一种对浏览器中的用户操作进行录制的装置,一种基于记录的操作程序块对浏览器中的登录操作进行回放的装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
法律信息
- 2022-02-15
专利权的转移
登记生效日: 2022.01.29
专利权人由北京奇飞翔艺商务咨询有限公司变更为北京奇虎科技有限公司
地址由100015 北京市朝阳区酒仙桥路6号院2号楼A座5层501-506室变更为100020 北京市朝阳区酒仙桥路6号院2号楼1至19层104号内8层801
- 2022-02-15
专利权人的姓名或者名称、地址的变更
专利权人由奇飞翔艺(北京)软件有限公司变更为北京奇飞翔艺商务咨询有限公司
地址由100015 北京市朝阳区酒仙桥路6号院2号楼A座5层501-506室变更为100015 北京市朝阳区酒仙桥路6号院2号楼A座5层501-506室
- 2020-07-21
专利权的恢复
原决定名称: 未缴年费专利权终止, 原决定公告日: 2020.06.23
- 2020-06-23
未缴年费专利权终止
IPC(主分类): G06F 9/44
专利号: ZL 201210227233.6
申请日: 2012.06.29
授权公告日: 2016.05.25
- 2016-06-08
专利权的转移
登记生效日: 2016.05.18
专利权人由北京奇虎科技有限公司变更为奇飞翔艺(北京)软件有限公司
地址由100088 北京市西城区新街口外大街28号D座112室(德胜园区)变更为100015 北京市朝阳区酒仙桥路6号院2号楼A座5层501-506室
专利权人由奇智软件(北京)有限公司变更为空
- 2016-05-25
- 2013-02-13
实质审查的生效
IPC(主分类): G06F 9/44
专利申请号: 201210227233.6
申请日: 2012.06.29
- 2012-12-26
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2009-04-01
|
2007-09-28
| | |
2
| | 暂无 |
2002-03-07
| | |
3
| |
2011-08-03
|
2011-01-24
| | |
4
| |
2012-06-20
|
2011-10-18
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |