CN110333908B - 一种业务流程自动化处理方法及装置 - Google Patents

一种业务流程自动化处理方法及装置 Download PDF

Info

Publication number
CN110333908B
CN110333908B CN201910520289.2A CN201910520289A CN110333908B CN 110333908 B CN110333908 B CN 110333908B CN 201910520289 A CN201910520289 A CN 201910520289A CN 110333908 B CN110333908 B CN 110333908B
Authority
CN
China
Prior art keywords
script
page
browser control
page element
browser
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910520289.2A
Other languages
English (en)
Other versions
CN110333908A (zh
Inventor
陈章
梁涛
陈国华
钟斌
李耀坚
林雄
廖昕
郑名敏
庄华
俞鹤伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Guangxin Communications Services Co Ltd
Original Assignee
Guangdong Guangxin Communications Services Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Guangxin Communications Services Co Ltd filed Critical Guangdong Guangxin Communications Services Co Ltd
Priority to CN201910520289.2A priority Critical patent/CN110333908B/zh
Publication of CN110333908A publication Critical patent/CN110333908A/zh
Application granted granted Critical
Publication of CN110333908B publication Critical patent/CN110333908B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种业务流程自动化处理方法及装置,涉及信息技术领域,能够根据不同的业务系统,采用相应的浏览器控件加载页面,从而能够提高业务流程自动化技术对浏览器的兼容性。再通过向所述页面注入JS脚本,以获取页面元素的CSS Path,并返回给所述浏览器控件;解析从本地数据库读取的JS脚本,并根据解析结果对页面元素执行相应的动作;由于上述操作都可通过可视化的拖拉工具实现,使得用户可以直观快捷地对各种任务脚本进行设置,从而更好地解决脚本编写复杂地问题。

Description

一种业务流程自动化处理方法及装置
技术领域
本发明涉及信息技术领域,尤其涉及一种业务流程自动化处理方法及装置。
背景技术
现有的业务流程自动化技术大多数基于WebDriver浏览器交互协议或DevTools工具实现,在实际应用中,针对浏览器厂商的不同,需提供不同的实现方式。比如,对于Chrome浏览器,需要从Webkit内核中获取API,对于火狐浏览器,需要从Gecko去获取,有些业务系统,则需要采用IE内核的浏览器才能进行正常加载,如电信的客服集中业务系统。
在对现有技术的研究和实践中,本发明的发明人发现,现有的业务流程自动化技术对浏览器的兼容性差,自动化脚本编写操作复杂。
发明内容
本发明的实施例提供一种业务流程自动化处理方法及装置,能够提高业务流程自动化技术对浏览器的兼容性,同时简化了自动化流程脚本编写的操作。
为达到上述目的,本发明的实施例采用如下技术方案:
一种业务流程自动化处理方法,包括:
针对不同的业务系统,适配相应的浏览器控件加载页面;
向所述页面注入JS脚本,以获取页面元素的CSS Path,并返回给所述浏览器控件;
解析从本地数据库读取的JS脚本,并根据解析结果对页面元素执行相应的动作。
一种业务流程自动化处理装置,包括:
适配单元,用于针对不同的业务系统,适配相应的浏览器控件加载页面;
获取单元,用于向所述页面注入JS脚本,以获取页面元素的CSS Path,并返回给所述浏览器控件;
动作执行单元,用于解析从本地数据库读取的JS脚本,并根据解析结果对页面元素执行相应的动作。
本发明实施例提供的业务流程自动化处理的方法及装置,能够根据不同的业务系统,采用相应的浏览器控件加载页面,从而能够提高业务流程自动化技术对浏览器的兼容性。再通过向所述页面注入JS脚本,以获取页面元素的CSS Path,并返回给所述浏览器控件;解析从本地数据库读取的JS脚本,并根据解析结果对页面元素执行相应的动作;由于上述操作都可通过可视化的拖拉工具实现,使得用户可以直观快捷地对各种任务脚本进行设置,从而更好地解决脚本编写复杂地问题。
附图说明
图1是本发明实施例1中的方法流程示意图;
图2是本发明实施例2中的方法流程示意图;
图3是本发明实施例3中的装置组成示意图;
图4是本发明实施例4中的装置组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面的具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不在赘述。
实施例1
本发明实施例提供一种业务流程自动化处理方法,如图1所示,该方法包括:
S101、针对不同的业务系统,适配相应的浏览器控件加载页面。
其中,浏览器控件可以在Windows窗体应用程序中承载网页以及支持浏览器的其他文档。例如,可以使用WebBrowser控件在应用程序中提供基于HTML的集成用户帮助或Web浏览功能。此外,还可以使用WebBrowser控件向Windows窗体客户端应用程序添加基于Web的现有控件。
针对IE内核的业务系统采用Webbrowser浏览器控件进行加载,可采用Webbrowser与JavaScript进行交互的方法实现页面加载,具体的,
可以为,采用动态注入一个新的具备返回值的方法(rtnRS),从而通过浏览器控件返回JavaScript脚本的运行结果;
还可以为,直接采用浏览器控件的原生方法执行JavaScript脚本;
还可以为,首先设置程序集COM可见,然后通过window.external.方法与Webbrowser交互。
Webkit内核的业务系统采用Cefsharp浏览器控件进行加载,可采用Cefsharp与JavaScript进行交互的方法实现页面加载,具体的,
可以为,直接采用原生的方法执行JavaScript脚本,并且返回执行结果;
还可以为,直接采用原生的方法执行JavaScript脚本;
还可以为,首先通过RegisterJsObject注册JavaScript对象,直接可以通过该JavaScript对象调用Cefsharp内部的方法。
S102、向所述页面注入JS脚本,以获取页面元素的CSS Path,并返回给所述浏览器控件。
其中,向所述页面注入JS脚本,以获取页面元素的CSS Path,并返回给所述浏览器控件,具体的,包括:
向所述页面注入JS脚本,捕捉鼠标的mouseover、mouseout、mousedown事件,从而获取触发事件的页面元素的CSS Path,并返回给浏览器控件,保存到数据库中。
其中,针对多层嵌套Iframe,所述CSS Path携带有相应Iframe的顺序号。
S103、解析从本地数据库读取的JS脚本,并根据解析结果对页面元素执行相应的动作。
其中,所述解析从本地数据库读取的JS脚本,并根据解析结果对页面元素执行相应的动作,具体的,解析JS脚本得到脚本类型,通过CSS Selector定位待操作的页面元素,并根据相应的脚本类型对该页面元素执行对应的脚本动作。
即,读取保存的业务流程脚本,然后通过设定的规则对脚本进行解析,针对不同的脚本动作通过向浏览器控件注入JavaScript脚本的方式进行页面元素的操作。所述脚本动作包括打开页面、关闭页面、刷新页面、点击页面元素、获取页面元素内容、设置网页元素的值、执行JS脚本和等待页面元素加载。每种脚本动作有相应的动作属性。对页面元素操作的脚本动作固定具备元素定位的CSS Selector路径,执行程序先通过CSS Selector定位要操作的页面元素,然后根据相应的脚本类型执行对应的动作。
本发明实施例提供的业务流程自动化处理的方法及装置,能够根据不同的业务系统,采用相应的浏览器控件加载页面,从而能够提高业务流程自动化技术对浏览器的兼容性。再通过向所述页面注入JS脚本,以获取页面元素的CSS Path,并返回给所述浏览器控件;解析从本地数据库读取的JS脚本,并根据解析结果对页面元素执行相应的动作;由于上述操作都可通过可视化的拖拉工具实现,使得用户可以直观快捷地对各种任务脚本进行设置,从而更好地解决脚本编写复杂地问题。
实施例2
本发明实施例提供一种务流程自动化处理方法,如图2所示,在实施例1的基础上,该方法还包括:
S104、在注入的JS脚本无法执行时,重写事件,以使所有模态对话框统一通过浏览器控件新建窗口加载页面。
其中,模态对话框(Modal Dialogue Box,又叫做模式对话框)是指在用户想要对对话框以外的应用程序进行操作时,必须首先对该对话框进行响应。如单击【确定】或【取消】按钮等将该对话框关闭。一般来说,Windows应用程序中,对话框分为模态对话框和非模态对话框两种。二者的区别在于当对话框打开时,是否允许用户进行其他对象的操作。
所述重写事件可以为重写window.showModalDialog事件,即将模态对话框重写成非模态对话框,以使模态对话框统一通过浏览器控件新建窗口加载页面。
需要说明的是,由于模态对话框会阻塞JavaScript的执行,因此导致注入的JavaScript脚本无法执行,通过使模态对话框统一通过浏览器控件新建窗口加载页面,这样不但能够启用单独处理进程对模态对话框的页面元素进行定位操作,而且不影响JavaScript脚本的继续执行,可以有效地保证各种业务系统的稳定运行。
实施例3
本发明实施例提供一种业务流程自动化处理装置,如图3所示,该装置包括:适配单元10、获取单元11、动作执行单元12。
适配单元10,用于针对不同的业务系统,适配相应的浏览器控件加载页面。
其中,浏览器控件可以在Windows窗体应用程序中承载网页以及支持浏览器的其他文档。例如,可以使用WebBrowser控件在应用程序中提供基于HTML的集成用户帮助或Web浏览功能。此外,还可以使用WebBrowser控件向Windows窗体客户端应用程序添加基于Web的现有控件。
针对IE内核的业务系统采用Webbrowser浏览器控件进行加载,可采用Webbrowser与JavaScript进行交互的方法实现页面加载,具体的,
可以为,采用动态注入一个新的具备返回值的方法(rtnRS),从而通过浏览器控件返回JavaScript脚本的运行结果;
还可以为,直接采用浏览器控件的原生方法执行JavaScript脚本;
还可以为,首先设置程序集COM可见,然后通过window.external.方法与Webbrowser交互。
Webkit内核的业务系统采用Cefsharp浏览器控件进行加载,可采用Cefsharp与JavaScript进行交互的方法实现页面加载,具体的,
可以为,直接采用原生的方法执行JavaScript脚本,并且返回执行结果;
还可以为,直接采用原生的方法执行JavaScript脚本;
还可以为,首先通过RegisterJsObject注册JavaScript对象,直接可以通过该JavaScript对象调用Cefsharp内部的方法。
获取单元11,用于向所述页面注入JS脚本,以获取页面元素的CSS Path,并返回给所述浏览器控件。
其中,向所述页面注入JS脚本,以获取页面元素的CSS Path,并返回给所述浏览器控件,具体的,包括:
向所述页面注入JS脚本,捕捉鼠标的mouseover、mouseout、mousedown事件,从而获取触发事件的页面元素的CSS Path,并返回给浏览器控件,保存到数据库中。
其中,针对多层嵌套Iframe,所述CSS Path携带有相应Iframe的顺序号。
动作执行单元12,用于解析从本地数据库读取的JS脚本,并根据解析结果对页面元素执行相应的动作。
其中,所述解析从本地数据库读取的JS脚本,并根据解析结果对页面元素执行相应的动作,具体的,解析JS脚本得到脚本类型,通过CSS Selector定位待操作的页面元素,并根据相应的脚本类型对该页面元素执行对应的脚本动作。
即,读取保存的业务流程脚本,然后通过设定的规则对脚本进行解析,针对不同的脚本动作通过向浏览器控件注入JavaScript脚本的方式进行页面元素的操作。所述脚本动作包括打开页面、关闭页面、刷新页面、点击页面元素、获取页面元素内容、设置网页元素的值、执行JS脚本和等待页面元素加载。每种脚本动作有相应的动作属性。对页面元素操作的脚本动作固定具备元素定位的CSS Selector路径,执行程序先通过CSS Selector定位要操作的页面元素,然后根据相应的脚本类型执行对应的动作。
上述实施例的装置,可用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,在此不在赘述。
实施例4
在实施例3的基础上,如图4所示,该装置还包括:
重写单元13,用于在注入的JS脚本无法执行时,重写事件,以使所有模态对话框统一通过浏览器控件新建窗口加载页面。
其中,模态对话框(Modal Dialogue Box,又叫做模式对话框)是指在用户想要对对话框以外的应用程序进行操作时,必须首先对该对话框进行响应。如单击【确定】或【取消】按钮等将该对话框关闭。一般来说,Windows应用程序中,对话框分为模态对话框和非模态对话框两种。二者的区别在于当对话框打开时,是否允许用户进行其他对象的操作。
所述重写事件可以为重写window.showModalDialog事件,即将模态对话框重写成非模态对话框,以使模态对话框统一通过浏览器控件新建窗口加载页面。
需要说明的是,由于模态对话框会阻塞JavaScript的执行,因此导致注入的JavaScript脚本无法执行,通过使模态对话框统一通过浏览器控件新建窗口加载页面,这样不但能够启用单独处理进程对模态对话框的页面元素进行定位操作,而且不影响JavaScript脚本的继续执行,可以有效地保证各种业务系统的稳定运行。
上述实施例的装置,对应的可用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,在此不在赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (5)

1.一种业务流程自动化处理方法,其特征在于,包括:
针对不同的业务系统,适配相应的浏览器控件加载页面;
向所述页面注入JS脚本,捕捉鼠标的mouseover、mouseout、mousedown事件,以获取页面元素的CSS Path,并返回给所述浏览器控件;
在注入的JS脚本无法执行时,重写事件,以使所有模态对话框统一通过浏览器控件新建窗口加载页面;
解析从本地数据库读取的JS脚本,并根据解析结果对页面元素执行相应的动作,具体的,解析JS脚本得到脚本类型,通过CSSSelector定位待操作的页面元素,并根据相应的脚本类型对该页面元素执行对应的脚本动作。
2.如权利要求1所述的方法,其特征在于,所述针对不同的业务系统,适配相应的浏览器控件加载页面,包括:
针对IE内核的业务系统,采用Webbrowser浏览器控件加载页面;
针对Webkit内核的业务系统,采用Cefsharp浏览器控件加载页面。
3.如权利要求1所述的方法,其特征在于,针对多层嵌套Iframe,所述CSS Path携带有相应Iframe的顺序号。
4.如权利要求1所述的方法,其特征在于,所述脚本动作包括打开页面、关闭页面、刷新页面、点击页面元素、获取页面元素内容、设置网页元素的值、执行JS脚本和等待页面元素加载。
5.一种业务流程自动化处理装置,其特征在于,包括:
适配单元,用于针对不同的业务系统,适配相应的浏览器控件加载页面;
获取单元,用于向所述页面注入JS脚本,以获取页面元素的CSS Path,并返回给所述浏览器控件;
重写单元,用于在注入的JS脚本无法执行时,重写事件,以使所有模态对话框统一通过浏览器控件新建窗口加载页面;
动作执行单元,用于解析从本地数据库读取的JS脚本,并根据解析结果对页面元素执行相应的动作;
解析JS脚本得到脚本类型,通过CSSSelector定位待操作的页面元素,并根据相应的脚本类型对该页面元素执行对应的脚本动作。
CN201910520289.2A 2019-06-14 2019-06-14 一种业务流程自动化处理方法及装置 Active CN110333908B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910520289.2A CN110333908B (zh) 2019-06-14 2019-06-14 一种业务流程自动化处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910520289.2A CN110333908B (zh) 2019-06-14 2019-06-14 一种业务流程自动化处理方法及装置

Publications (2)

Publication Number Publication Date
CN110333908A CN110333908A (zh) 2019-10-15
CN110333908B true CN110333908B (zh) 2021-02-09

Family

ID=68140177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910520289.2A Active CN110333908B (zh) 2019-06-14 2019-06-14 一种业务流程自动化处理方法及装置

Country Status (1)

Country Link
CN (1) CN110333908B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111274156B (zh) * 2020-02-25 2023-06-06 中信银行股份有限公司 兼容多框架页面的自动识别方法及装置
CN111736932A (zh) * 2020-05-06 2020-10-02 广东金赋科技股份有限公司 一种政务自助终端数据传输方法、装置及存储介质
CN111897518A (zh) * 2020-07-23 2020-11-06 广东电网有限责任公司韶关供电局 一种业务自动化执行方法、装置,设备及存储介质
TWI805024B (zh) * 2020-11-12 2023-06-11 百林商智股份有限公司 自動化流程機器人系統、方法、非暫態電腦可讀取記錄媒體、以及電腦程式產品
CN112527435B (zh) * 2020-12-08 2024-02-13 建信金融科技有限责任公司 浏览器操作方法及系统
CN113297523A (zh) * 2021-05-19 2021-08-24 山东云科汉威软件有限公司 资源重载方法及其系统
CN113238850B (zh) * 2021-06-01 2024-01-23 平安科技(深圳)有限公司 基于浏览器的rpa实现方法、装置、设备及介质
CN113742550B (zh) * 2021-08-20 2024-04-19 广州市易工品科技有限公司 基于浏览器的数据获取方法、装置和系统
CN114816614B (zh) * 2022-03-14 2024-03-22 达观数据有限公司 一种流程自动化机器人控制浏览器的实现方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2507596B (en) * 2012-10-30 2014-09-17 Barclays Bank Plc Secure computing device and method
CN106681792A (zh) * 2016-11-14 2017-05-17 乐视控股(北京)有限公司 浏览器内核的切换方法及其装置、电子设备
CN109144617A (zh) * 2017-06-15 2019-01-04 深圳艾派网络科技股份有限公司 一种以html开发的pc客户端的通信方法以及系统

Also Published As

Publication number Publication date
CN110333908A (zh) 2019-10-15

Similar Documents

Publication Publication Date Title
CN110333908B (zh) 一种业务流程自动化处理方法及装置
US9965139B2 (en) Software robots for programmatically controlling computer programs to perform tasks
AU2017302249B8 (en) Visual regression testing tool
US8386955B1 (en) User-optimized content for web browsing windows
AU2012370492B2 (en) Graphical overlay related to data mining and analytics
CN108345456A (zh) 页面代码生成方法、装置、计算机设备和存储介质
US20160259773A1 (en) System and method for identifying web elements present on a web-page
CN106682176A (zh) 页面的加载方法、装置和设备
US11023669B2 (en) Rendering lambda functions in spreadsheet applications
JP2015109059A (ja) 文書オブジェクトモデルツリーとカスケーディング・スタイル・シートとが取り出されることが可能なアプリケーションのソースコードを変更することによって生じる影響を検知するための方法、並びに、当該影響を検知するためのコンピュータ及びそのコンピュータ・プログラム
KR20140018414A (ko) 브라우저 기반 애플리케이션 프로그램 확장 방법 및 디바이스
CN110298000A (zh) 页面参数的获取方法、终端设备及介质
CN110213105A (zh) 一种跨平台微应用创建方法
CN107038117B (zh) 一种基于事件处理函数间定义-引用的web自动化测试方法
Gundecha et al. Selenium WebDriver 3 Practical Guide: End-to-end automation testing for web and mobile browsers with Selenium WebDriver
US20170212735A1 (en) Replicating a web technology
US8881152B2 (en) Working sets of sub-application programs of application programs currently running on computing system
WO2016122508A1 (en) Test generation for browser-based user interface
US20210232755A1 (en) Machine first approach for identifying accessibility, non-compliances, remediation techniques and fixing at run-time
CN111399836B (zh) 修改页面属性的方法及装置
CN109558183B (zh) 一种自动实现api应用的方法及装置
CN112130908A (zh) 设置用户引导的方法及装置
Netravali et al. Vesper: Measuring time-to-interactivity for modern web pages
Sterca et al. Primary building blocks for web automation
US9268560B2 (en) Displaying dependent files for computer code in a tabbed-application user interface

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant