基于规则呈现用户界面元素的制作方法_3

文档序号:9240065阅读:来源:国知局
应用上是可执行的(例如框架的确定)时,文档分析器208可基于特定类型的代码(例如框架)来确定至少一个被允许的行动。这可例如通过启用相关联选择器并接着试图基于选择器找到令牌和元素来发生。
[0049]如所示,这组令牌可被发送到视觉化模块250。视觉化模块250可将web应用加载到浏览器布局引擎中。视觉化模块250可接着呈现web应用(例如页面或链接)的一部分,其中该部分的一个或多个用户界面元素基于这组可行令牌和规则而被加亮。这可通过遍历具有在适当地方的规则/令牌的部分并接着基于与在该部分上找到的相应令牌相关联的定位符信息而加亮区段来完成。在一些示例中,视觉化模块250可被实现为在web浏览器上的插件。因此,网页/web应用信息和/或令牌/规则信息可被传送到可远离系统200的其它部件(例如扫描器或文档分析器)的视觉化模块250。
[0050]此外,如上面提到的,可接收输入,以通过与一个或多个所示用户界面元素交互来产生或修改规则。在一个示例中,用户界面元素已经被加亮。这个Π元素被选择。选择可用于创建排斥关系,以排除特定的UI元素和/或像那个UI元素一样的UI元素。可选择参数和/或属性,来确定什么Π元素像Π元素一样。
[0051]而且,在一个示例中,没有加亮被选择的Π元素。Π元素可基于选择被加亮。当被加亮时,可基于UI元素的分析来创建和/或激活规则。规则也可以是可定制的。例如,规则可以只针对在特定位置上的特定元素,针对任何地方的UI元素,针对共享特定的属性、标签、标识符、特征、类名等的UI元素。
[0052]处理器,例如中央处理单元(CPU)或适合于获取并执行指令的微处理器和/或电子电路,可被配置成执行本文描述的任何部件的功能。在某些情形中,指令和/或例如令牌、web应用、规则等的其它信息可包括在存储器中。每个部件可包括例如硬件设备,硬件设备包括用于实现本文所述的功能的电子电路。此外或作为可选方案,每个部件可被实现为在机器可读存储介质上编码并由处理器可执行的一系列指令。应注意,在一些实施例中,一些模块被实现为硬件设备,而其它模块被实现为可执行指令。
[0053]图3A和图3B是根据各示例的规则和令牌的框图。图3A示出规则对象300。规则对象300可以是结构、类等。每个规则可与关联谓词302和选择器304相关联。选择器304可包括一组一个或多个选择器306a-306n。选择器304、306a_306n检查DOM并返回可行DOM实体的序列。不是所有选择器306a-306n都需要与单个规则相关联。关联谓词302用于激活或去激活规则。在一个示例中,当文档分析器正在web应用上执行时,从扫描器爬行可用于确定规则是否是相关联的。在一些示例中,指纹可由在web应用上使用的一个或多个框架留下。这可被分析,以确定哪些规则与应用相关联。在其它示例中,扫描器可爬过应用并随机地选择应用上的对象。对象可被分析,以确定规则是否是相关联的。选择器的示例包括CSS选择器306a、JavaScript选择器306b和jQuery选择器306η。在一个示例中,规则可与特定类型的jQuery版本相关联。因此,当将规则考虑为相关联的时,可检查jQuery高速缓存存储器,以确定要启用的选择器。
[0054]图3B示出令牌对象350。令牌对象350可以是结构、类等。令牌对象350可包括一个或多个行动352以及定位符354。令牌对象350可定义应该是扫描器的行动目标的DOM实体。位置确定通过例如XPath 360、属性362 (例如ARIA) ,TruClient 364等的各机制是可能的。操作或行动可基于DOM元素而改变。例如,可行令牌可与鼠标事件356、键盘事件358或其它用户界面改变事件(例如执行JS代码)相关联。
[0055]察看浏览器中的正常web应用,可能难以看见什么区域可被爬行或选择。图4A是根据一个示例的、用于呈现与所发现的可行令牌相关联的加亮用户界面元素的用户界面400的框图。附有事件处理程序的元素或以另一方式识别的元素(例如察看特定属性、标签名称等的存在的规则)由工具加亮。
[0056]在图4A的示例中,用户界面元素JS按钮(JS BUTTON) 402a、402b、设置按钮(SETTINGS BUTTON) 402c、注销用户(LOGOFF USER) 404、链接(LINK) 406a_406n、日程表(CALENDAR) 408a、408b、搜索字段(SEARCH FIELD) 410a、字段(FIELD) 410b、图片(PICTURE) 412 存在。在这里,粗体用户界面元素 404、406a-406n、408a、408b、410a 和 410b被加亮,这是因为UI元素使用默认的一组规则被发现。然而,如JS按钮402a和设置按钮402c的按钮不被加亮。这些按钮可导致扫描器将遗漏的应用的相当大的部分使用标准规则集。此外,注销用户404和日程表428a、b被加亮。这些Π元素一如果与web应用交互一可将web应用置于不想要的状态中。例如,日程表428a可导致要遍历的无限循环,且注销用户404按钮可限制扫描的结果,因为用户在扫描期间被注销。
[0057]图4B是根据一个示例的、用于呈现与所发现的可行令牌相关联的修改的加亮用户界面元素的用户界面的框图。这个用户界面420包括用户界面元素JS按钮(JSBUTTON) 422a、422b、设置按钮(SETTINGS BUTTON) 422c、注销用户(LOGOFF USER) 424、链接(LINK)426a-426n、日程表(CALENDAR)428a、428b、搜索字段(SEARCH FIELD)430a、字段(FIELD) 430b、图片(PICTURE) 412。在这里,用户选择注销用户424、JS按钮422a和日程表428a。这些可用于修改用于在爬行中通过创建排除和/或包括新UI元素的规则来产生令牌的这组规则。
[0058]在一个示例中,当Π元素例如JS按钮422a遗漏时,规则修改外接附件检测与该UI元素相关联的公共类名的存在。这可被添加到当前规则。例如,用于找到其它UI元素的Jquery选择器规则可被修改,以将那个类名添加在它的搜索中。如上面讨论的其它方法可用于添加/移除UI元素。
[0059]图4C是根据一个示例的、用于呈现与所发现的可行令牌相关联并基于修改的用户界面元素的加亮用户界面元素的用户界面的框图。该用户界面440包括用户界面元素 JS 按钮(JS BUTTON) 442a、442b、设置按钮(SETTINGS BUTTON) 442c、注销用户(LOGOFFUSER) 444、链接(LINK)446a-446n、日程表(CALENDAR) 448a、448b、搜索字段(SEARCHFIELD)450a、字段(FIELD)450b、图片(PICTURE)412。在这里,加亮被选择的JS按钮442a。此外,因为JS按钮442b和设置按钮442c共享相同的类或由规则使用的其它识别信息,因此每个也可被加亮。而且,日程表448a、448b不被加亮,因为日程表448a被选择并与日程表448b共享相关联规则要找到并排除的识别信息。此外,注销用户424链接被选择且注销用户444被取消选择。然而,规则是与注销功能相关联的UI元素所特有的,因为其它链接446a-446n仍然被加亮。在一个示例中,通过产生Π元素所特有的定位符,规则可以是Π元素所特有的。
[0060]可完成选择的额外重复和规则更新,以进一步提炼可以是活跃的规则。此外,用户可点击链路和/或按钮,以转到web应用的其它部分,并也基于那些用户界面元素来更新规则。
[0061]图5是根据一个示例的、用于引起web应用的一部分的呈现的方法的流程图,其中用户界面元素基于可行令牌被加亮。方法500的执行可由系统100、200、计算设备600执行,或可利用用于执行方法500的其它适当的部件。此外,用于执行方法500的部件可在多个设备当中扩展。方法500可以以存储在机器可读存储介质(例如存储介质620)上的可执行指令的形式和/或以电子电路的形式来实现。
[0062]在方法500期间,web应用被加载到浏览器布局引擎中(502)。扫描器可模拟在web应用的应用界面元素上的用户行动(504)。在模拟期间,可遍历并分析web应用的结构(506) ο可遍历Web应用的复杂D0M,以更新用于确定扫描的一组可行令牌的规则。可行令牌可包括可基于web应用来改变用户界面的web应用的一部分。
[0063]在508,引起web应用(例如一个网页或多个网页)的一部分的呈现。基于如在图4A-4C中进一步示出的规则来加亮网页的一个或多个用户界面元素。此外或可替代地,这可基于在爬行期间找到的一组可行令牌来完成。可在用于扫描web应用的系统或另一计算系统处(例如在开发者或客户端的计算设备处)引起呈现。
[0064]在510,接收选择输入,以选择在该部分(例如网页)上呈现的一个或多个用户界面元素。在一个示例中,用户界面元素不是加亮用户界面元素的部分。在另一示例中,用户界面元素是加亮用户界面元素的部分。
[0065]在512,选择的用户界面元素与规则相关联。规则可以是单个元素所特有的或在多个元素上起作用。一些规则可以是排除元素或排除这组元素被令牌化。其它规则可使其它UI元素被识别出并产生相应的其它UI元素的令牌。因此,可使规则基于与选择的用户界面元素相关联的信息来确定与选择的用户界面元素类似的其它用户界面元素是否应转换成其它可行令牌。如上面提到的,信息可包括与用户界面元素相关联的类型、与用户界面元素相关联的访问标识符、与用户界面元素相关联的一个或多个事件处理程序和在DOM内的关系信息(例如父母、孩子等)中的一个或多个。
[0066]在一些示例中,可对web应用的其它部分执行方法块508、510和512,和/或再次对web应用的相
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1