KR102054663B1 - Macro system for web browsers with source code editing - Google Patents

Macro system for web browsers with source code editing Download PDF

Info

Publication number
KR102054663B1
KR102054663B1 KR1020180072033A KR20180072033A KR102054663B1 KR 102054663 B1 KR102054663 B1 KR 102054663B1 KR 1020180072033 A KR1020180072033 A KR 1020180072033A KR 20180072033 A KR20180072033 A KR 20180072033A KR 102054663 B1 KR102054663 B1 KR 102054663B1
Authority
KR
South Korea
Prior art keywords
project
unit
macro
management module
time
Prior art date
Application number
KR1020180072033A
Other languages
Korean (ko)
Inventor
손상기
김근모
Original Assignee
동명대학교산학협력단
주식회사 아람커뮤니케이션즈
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 동명대학교산학협력단, 주식회사 아람커뮤니케이션즈 filed Critical 동명대학교산학협력단
Priority to KR1020180072033A priority Critical patent/KR102054663B1/en
Application granted granted Critical
Publication of KR102054663B1 publication Critical patent/KR102054663B1/en

Links

Images

Classifications

    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros

Abstract

The present invention relates to a system for creating and executing a macro by processing a source code on a screen output in a web browser. According to the present invention, a web browser-specific macro can be created and modified by processing a source code of a web page implemented on a web browser. In particular, the macro can be easily modified while creating the macro since an execution process can be checked in real time. Usability is also high since easy-to-use commands for creating macros for tasks required on a web site such as log-in, data retrieval, and comment writing are already provided. Even though a language is diffenent, a user can create a macro by directly adding a source code to be compatible with various web pages.

Description

소스코드 가공 방식의 웹브라우저용 매크로 시스템 {MACRO SYSTEM FOR WEB BROWSERS WITH SOURCE CODE EDITING}Macro system for web browser with source code processing method {MACRO SYSTEM FOR WEB BROWSERS WITH SOURCE CODE EDITING}

본 발명은 웹브라우저에서 출력되는 화면의 소스코드를 가공하여 매크로를 제작하고 실행시키는 시스템에 관한 것이다.The present invention relates to a system for manufacturing and executing macros by processing source code of a screen output from a web browser.

일련의 작업을 수행하기 위해 조작자가 매번 명령을 입력해 주지 않고 특정한 매크로 기능을 가진 키를 눌러줌으로써 자동적으로 일이 수행되게 한다. 이와 같이 조작 순서를 기록하여 자동으로 실행시키는 기능을 매크로 기능이라고 한다.In order to perform a series of tasks, the operator does not enter a command each time, but rather automatically presses a key with a specific macro function. The function of recording the operation sequence and executing it automatically is called a macro function.

매크로는 단순한 문자열 치환으로서, 프로그램 속에서 같은 의미로 사용되는 동일한 문자열을 일괄적으로 변경하는 경우에 도움이 된다. 엑셀 등의 응용 프로그램에서는 매크로 기록 기능을 가지고 있어 사용자가 쉽게 매크로를 작성할 수 있다. Macros are simple string substitutions that help you to batch change the same strings that have the same meaning in your program. Applications such as Excel have a macro recording function so that users can easily write macros.

그러나 웹브라우저에는 내장 매크로 기능이나 이에 특화된 매크로 프로그램이 제시된 바 없고, 기존의 범용 매크로를 적용하기에는 HTML 등의 소스코드로 구현되는 웹페이지 제어에 한계가 있다.However, there is no built-in macro function or specialized macro program in the web browser, and there is a limit to the control of a web page that is implemented with source code such as HTML to apply a general-purpose macro.

등록특허 제10-1605507호 (2016.03.16.)Patent Registration No. 10-1605507 (2016.03.16.)

본 발명에서 해결하고자 하는 과제는 다음과 같다.The problem to be solved in the present invention is as follows.

즉, 웹브라우저 상에 구현되는 웹페이지의 소스코드를 가공하여 웹브라우징에 특화된 매크로를 제작 및 수정이 가능한 매크로 시스템을 제시하고자 한다.In other words, the present invention proposes a macro system capable of producing and modifying macros specific to web browsing by processing source code of a web page implemented on a web browser.

본 발명은 위와 같은 과제를 해결하기 위하여,The present invention to solve the above problems,

매크로프로젝트를 추가하고 수정하고 삭제하는 프로젝트관리모듈(100); 프로젝트를 구성할 매크로를 생성하고 실행시키는 매크로실행모듈(600);을 포함하고, 상기 매크로실행모듈(600)은 프로젝트관리모듈(100)에 의해 생성된 매크로 프로젝트 중 실행할 프로젝트를 선택하는 프로젝트선택부(610), 매크로 스크립트가 라인별로 출력되는 스크립트출력부(620), 매크로 스크립트를 구성할 명령어를 선택받는 명령어선택부(630), 프로젝트선택부(610)에 의해 선택된 프로젝트가 실행될 때 로그가 출력되는 로그출력부(640), 브라우저를 구동시켜 인터넷 화면을 출력하는 브라우저구동부(660)를 포함하며, 명령어선택부(630)에서 제시하는 미리 셋팅된 명령어 선택시 해당 명령어와 관련된 데이터를 입력하는 팝업창이 뜨고, 팝업창에서 값 입력 후 저장하면 프로젝트선택부(610)에서 선택된 프로젝트의 스크립트에 해당 명령어와 그 코드가 자동으로 등록되고 스크립트출력부(620)에서 마지막 라인으로 추가되며, 매크로프로젝트 실행시 스크립트출력부(620)에서 라인별로 실행되는 결과가 브라우저구동부(660)에서 출력되고, 로그 명령어에 의한 결과는 로그출력부(640)에서 출력되는 것을 특징으로 하고,Project management module 100 for adding, modifying and deleting macro projects; And a macro execution module 600 for generating and executing a macro for constituting a project, wherein the macro execution module 600 selects a project to be executed from among macro projects generated by the project management module 100. 610, the script output unit 620 for outputting the macro script line by line, a command selection unit 630 for receiving a command for constituting the macro script, and a log output when the project selected by the project selection unit 610 is executed. Log output unit 640, the browser driving unit 660 for outputting the Internet screen by driving the browser, and a pop-up window for inputting the data related to the command when selecting a preset command presented by the command selection unit 630 Is displayed in the pop-up window, and after inputting the value, the command and its code are added to the script of the project selected by the project selection unit 610. Dynamically registered and added as the last line in the script output unit 620, the results of the execution of each line in the script output unit 620 when the macro project is executed is output from the browser driver 660, the result by the log command is logged Characterized in that is output from the output unit 640,

매크로프로젝트에서 사용할 데이터베이스를 추가하고 수정하고 삭제하는 데이터베이스관리모듈(200); 검색어를 추가하고 수정하고 삭제하는 문자그룹관리모듈(300);을 더 포함하고, 상기 프로젝트관리모듈(100)은 프로젝트의 제목을 입력받는 제목입력부(111), 프로젝트에 대한 설명을 입력받는 설명입력부(112), 매크로가 수행되는 동안 사용될 데이터가 저장된 DB 또는 수집된 데이터가 저장될 DB를 선택하는 DB선택부(113)를 포함하여 구성되는 프로젝트추가부(110)를 포함하며, 상기 데이터베이스관리모듈(200)은 DB의 고유코드를 입력받는 고유코드입력부(211), DB를 구성하는 테이블의 이름을 입력받는 테이블명입력부(212), DB를 구성하는 테이블의 컬럼을 설정하는 컬럼설정부(213)를 포함하여 구성되는 DB추가부(210)를 포함하고, 상기 문자그룹관리모듈(300)은 문자그룹의 고유코드를 입력받는 고유코드입력부(311), 문자그룹의 이름을 입력받는 그룹명입력부(312)를 포함하여 구성되는 그룹추가부(310), 특정 검색어에 따른 반환문자열을 추가하는 문자열추가부(321), 문자열추가부(321)에 의해 추가된 문자열의 우선순위를 변경하는 조건식적용순서변경부(322)를 포함하여 구성되는 문자열추가부(320)를 포함하고, 상기 문자열추가부(321)는 다수 검색어와 각 검색어의 조합 조건을 입력받는 조건별단어입력부(321a), 기준값 이상 또는 이하의 숫자를 검색하기 위한 조건을 입력받는 기준값비교숫자입력부(321b), 조건별단어입력부(321a) 또는 비교숫자입력부(321b)에서 입력받은 조건에 맞는 값이 검색될 경우 반환할 문자열을 입력받는 반환문자열입력부(321c)를 포함하는 것을 특징으로 하며,A database management module 200 for adding, modifying, and deleting a database to be used in a macro project; Character group management module 300 for adding, modifying and deleting search terms; further includes, the project management module 100 includes a title input unit 111 for receiving a title of a project, a description input unit for receiving a description of a project (112), a project adding unit 110 is configured to include a DB for storing the data to be used while the macro is performed or a DB for storing the collected data 113, the database management module Reference numeral 200 is a unique code input unit 211 for receiving a unique code of the DB, a table name input unit 212 for receiving the name of the table constituting the DB, column setting unit 213 for setting the column of the table constituting the DB It includes a DB adding unit 210 is configured to include, and the character group management module 300 is a unique code input unit 311 for receiving a unique code of the character group, a group name input unit for receiving the name of the character group (312) The group adding unit 310 is configured to include, the string adding unit 321 for adding the return string according to a specific search word, the conditional expression application order changing unit for changing the priority of the string added by the string adding unit 321 ( And a character string adding unit 320 configured to include a number 322, wherein the character string adding unit 321 includes a plurality of search terms and a condition-specific word input unit 321a for receiving a combination condition of each search word, a number above or below a reference value. A return string input unit for receiving a string to be returned when a value matching a condition input from a reference value comparison numeric input unit 321b, a conditional word input unit 321a, or a comparison number input unit 321b is received. 321c, and

프로젝트를 반복실행시키는 반복스케줄러를 추가하고 수정하고 삭제하는 반복스케줄러관리모듈(400); 특정 시간에 프로젝트를 실행시키는 타임스케줄러를 추가하고 수정하고 삭제하는 타임스케줄러관리모듈(500);을 더 포함하고, 상기 반복스케줄러관리모듈(400)은 반복 실행할 프로젝트로 구성된 그룹의 이름을 입력받는 그룹명입력부(411), 그룹을 반복 실행할 횟수를 설정하는 실행횟수설정부(412), 그룹의 매 실행 후 대기시간을 설정하는 대기시간설정부(413)를 포함하여 구성되는 스케줄그룹추가부(410), 그룹을 구성하는 각 프로젝트의 실행횟수를 설정하는 실행횟수설정부(421), 프로젝트의 매 실행 후 대기시간을 설정하는 대기시간설정부(422)를 포함하여 구성되는 프로젝트추가부(420)를 포함하고, 상기 타임스케줄러관리모듈(500)은 특정 시간에 실행할 프로젝트를 선택하는 프로젝트선택부(511), 특정 시간에 단발성으로 실행시킬지 또는 특정 시간마다 반복적으로 실행시킬지 선택하는 실행유형선택부(512), 실행시킬 시간을 설정하는 시간설정부(513)를 포함하여 구성되는 스케줄추가부(510)를 포함하며, 상기 매크로실행모듈(600)은 반복스케줄러 또는 타임스케줄러를 실행시키는 스케줄러실행부(670)를 더 포함하는 것을 특징으로 하는 소스코드 가공 방식의 웹브라우저용 매크로 시스템을 제시한다.A repeating scheduler management module 400 for adding, modifying, and deleting a repeating scheduler for repeatedly executing a project; A time scheduler management module 500 for adding, modifying and deleting a time scheduler for executing a project at a specific time; further includes, The repeating scheduler management module 400 is a group that receives the name of the group consisting of the project to be repeated Schedule group adding unit 410, including a name input unit 411, a running frequency setting unit 412 for setting the number of times the group is repeatedly executed, and a waiting time setting unit 413 for setting a waiting time after every execution of the group. ), A project adder 420 configured to include a run count setting unit 421 for setting a run count of each project constituting the group, and a wait time setter 422 for setting a wait time after every execution of the project. Including, the time scheduler management module 500 is a project selection unit 511 for selecting a project to be executed at a specific time, whether to run a single shot at a specific time or every specific time A schedule adding unit 510 configured to include a execution type selecting unit 512 for selecting whether to execute repeatedly, a time setting unit 513 for setting a time to execute, and the macro execution module 600 repeats. A macro system for a web browser of a source code processing method, further comprising a scheduler execution unit 670 for executing a scheduler or a time scheduler.

본 발명은 다음과 같은 효과를 발휘한다.The present invention has the following effects.

즉, 웹브라우저 상에 구현되는 웹페이지의 소스코드를 가공하여 웹브라우징에 특화된 매크로를 제작 및 수정이 가능해진다.That is, by processing the source code of the web page implemented on the web browser, it is possible to create and modify a macro specialized for web browsing.

특히 실행 과정을 실시간으로 확인할 수 있어 매크로 제작시 수정 작업이 간편해지고, 로그인, 데이터 검색, 댓글 작성 등 웹사이트 상에서 이루어지는 작업을 매크로화 하기 용이한 기존 명령어가 구비되어 사용성이 높으며, 언어가 다를 경우 사용자가 직접 소스코드를 추가하는 방식으로 매크로를 제작할 수 있어 다양한 웹페이지에서 호환이 가능한 장점이 있다.In particular, the execution process can be checked in real time, making it easy to modify macros, making it easy to use macro commands to make macros on websites such as login, data search, and commenting. Users can create macros by adding source code directly, which makes them compatible with various web pages.

도 1은 본 발명의 전체 구성에 대한 블록도.
도 2는 매크로실행모듈에 대한 예시 화면.
도 3은 명령어선택부에서 명령어 선택시 구동되는 입력창 및 해당 명령어에 입력값 저장시 스크립트출력부에 출력되는 형태에 대한 예시 화면.
도 4는 프로젝트관리모듈 및 프로젝트추가부에 대한 예시 화면.
도 5는 데이터베이스관리모듈 및 DB추가부에 대한 예시 화면.
도 6은 문자그룹관리모듈 및 그룹추가부에 대한 예시 화면.
도 7은 문자그룹관리모듈, 문자열관리부 및 문자열추가부에 대한 예시 화면.
도 8은 문자열추가부에 대한 예시 화면.
도 9는 반복스케줄러관리모듈 및 스케줄그룹추가부에 대한 예시 화면.
도 10은 반복스케줄러관리모듈 및 프로젝트추가부에 대한 예시 화면.
도 11은 타임스케줄러관리모듈 및 스케줄추가부에 대한 예시 화면.
도 12는 타임스케줄러관리모듈 및 스케줄추가부에 대한 예시 화면
도 13은 스케줄러실행부에 대한 예시 화면.
도 14는 'get_html' 명령어의 입력창 및 해당 명령어 입력값 저장시 스크립트출력부에 출력되는 형태에 대한 예시 화면.
도 15는 'log' 명령어의 입력창 및 해당 명령어 실행시 로그출력부에 출력되는 형태에 대한 예시 화면.
도 16 내지 18은 본 발명에 의해 매크로가 실행되는 실시예에 대한 예시 화면.
도 19는 명령어선택부에서 선택 가능한 매크로 명령어 목록.
도 20은 마우스 좌표를 입력받는 명령어 입력창 예시 화면.
도 21은 'filter' 명령어의 입력창 예시 화면.
도 22는 'javascript' 명령어의 입력창 및 자바 소스코드 입력시 스크립트출력부에 출력되는 형태에 대한 예시 화면.
도 23은 'tab_select' 명령어의 입력창 및 명령어 실행 전후 과정에 대한 예시 화면.
1 is a block diagram of the overall configuration of the present invention.
2 is an exemplary screen for a macro execution module.
3 is an exemplary screen for an output window driven when a command is selected by the command selector and a form output to the script output unit when an input value is stored in the command.
Figure 4 is an example screen for the project management module and the project adding unit.
5 is an example screen for the database management module and the DB adder.
Figure 6 is an example screen for the character group management module and the group adder.
7 is an example screen for a character group management module, a string management unit and a string addition unit.
8 is an example screen for a string adding unit.
Figure 9 is an example screen for the repeating scheduler management module and schedule group addition unit.
10 is an example screen for the repeating scheduler management module and the project adding unit.
11 is an exemplary screen for a time scheduler management module and a schedule adder.
12 is an example screen for a time scheduler management module and a schedule adder.
13 is an example screen for a scheduler execution unit.
14 is an exemplary screen for a form that is output to the script output unit when the input window of the 'get_html' command and the corresponding command input value are stored.
FIG. 15 is an exemplary screen illustrating an input window of a 'log' command and a form output to a log output unit when a corresponding command is executed. FIG.
16 to 18 are exemplary screens for the embodiment where the macro is executed by the present invention.
19 is a list of macro commands selectable by the command selection unit.
20 illustrates an example input window for receiving mouse coordinates.
21 shows an example input window of a 'filter' command.
22 is an example screen for the form that is output to the script output unit when the input window and the Java source code input of the 'javascript' command.
FIG. 23 is a view illustrating an input window of a 'tab_select' command and a process before and after executing an instruction. FIG.

이하 첨부된 도면을 바탕으로 본 발명의 바람직한 실시예에 대해 설명한다. 다만 본 발명의 권리범위는 특허청구범위 기재에 의하여 파악되어야 한다. 또한 본 발명의 요지를 모호하게 하는 공지기술의 설명은 생략한다.Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings. However, the scope of the present invention should be grasped by the claims. In addition, description of the well-known art which obscures the summary of this invention is abbreviate | omitted.

본 발명의 소스코드 가공 방식의 웹브라우저용 매크로 시스템은 도 1과 같이 프로젝트관리모듈(100), 데이터베이스관리모듈(200), 문자그룹관리모듈(300), 반복스케줄러관리모듈(400), 타임스케줄러관리모듈(500), 매크로실행모듈(600)로 구성된다.Macro system for a web browser of the source code processing method of the present invention is a project management module 100, a database management module 200, a character group management module 300, a repeat scheduler management module 400, a time scheduler as shown in FIG. It consists of a management module 500, the macro execution module 600.

프로젝트관리모듈(100)은 매크로 프로젝트를 추가하고 수정하고 삭제하는 기능을 제공하며, 도 4와 같이 프로젝트추가부(110)와 이에 의해 추가된 프로젝트를 복사하거나, 수정하거나, 초기화하거나, 삭제하거나, 백업파일을 만들어 다운로드하거나(백업다운로드), 다운로드한 백업파일을 이용하여 프로젝트를 복원(불러오기)하거나, 배포하거나, 여러 프로젝트가 나열된 순서를 변경할 수 있게 구성된다. 프로젝트로는 데이터 수집 및 분석 프로젝트, SNS 친구 추가하기 프로젝트, 상품 가격 분석하기 프로젝트 등 반복적으로 이루어지는 작업을 자동화하는 매크로가 해당될 수 있다.The project management module 100 provides a function of adding, modifying, and deleting a macro project, and copying, modifying, initializing, or deleting a project adding unit 110 and a project added thereto as shown in FIG. 4, You can create and download a backup file (backup download), restore (load) a project using the downloaded backup file, distribute it, or change the order in which multiple projects are listed. Projects can include macros that automate repetitive tasks such as data collection and analysis projects, adding SNS friends, and analyzing product prices.

프로젝트추가부(110)는 새로운 매크로를 생성하기 위한 것으로서, 프로젝트의 제목을 입력받는 제목입력부(111), 프로젝트에 대한 설명을 입력받는 설명입력부(112), 매크로가 수행되는 동안 사용될 데이터가 저장된 DB 또는 수집된 데이터가 저장될 데이터베이스(DB)를 선택하는 DB선택부(113)를 포함하여 구성된다. DB선택부(113)에서 선택가능한 DB는 데이터베이스관리모듈(200)에 의해 생성 및 관리된다.The project adding unit 110 is for creating a new macro, a title input unit 111 for receiving a title of a project, a description input unit 112 for receiving a description of a project, and a DB storing data to be used while the macro is being executed. Or DB selection unit 113 for selecting a database (DB) in which the collected data is to be stored. The DB selectable by the DB selector 113 is created and managed by the database management module 200.

데이터베이스관리모듈(200)은 매크로 프로젝트에서 사용할 데이터베이스를 추가하고 수정하고 삭제하는 기능을 제공하며, 도 5와 같이 DB추가부(210)와 이에 의해 추가된 데이터베이스를 복사하거나, 수정하거나, 삭제하거나, 엑셀파일형식으로 다운로드하거나, 데이터를 확인 및 업로드(데이터관리)할 수 있게 구성된다. The database management module 200 provides a function of adding, modifying, and deleting a database to be used in a macro project, and copying, modifying, or deleting the DB adding unit 210 and the database added thereto, as shown in FIG. 5, It can be downloaded in an Excel file format, or it can be checked and uploaded (data management).

데이터베이스관리모듈(200)의 [테이블추가] 메뉴를 클릭하면 DB추가부(210)가 구동되며, 이는 DB의 고유코드를 입력받는 고유코드입력부(211), DB를 구성하는 테이블의 이름을 입력받는 테이블명입력부(212), DB를 구성하는 테이블의 컬럼을 설정하는 컬럼설정부(213)를 포함하여 구성된다. 예를 들어 중고거래가격에 대한 데이터를 수집할 경우 테이블명입력부(212)에 "중고거래가 확인", 컬럼설정부(213)에는 "제품명", "모델명", "금액" 등으로 설정하면 된다.Clicking the [Add Table] menu of the database management module 200 drives the DB adding unit 210, which receives the unique code input unit 211 that receives the unique code of the DB, and receives the name of the table constituting the DB. And a table name input unit 212 and a column setting unit 213 for setting columns of the tables constituting the DB. For example, when collecting data on the used transaction price, the "used transaction price confirmation" in the table name input unit 212 may be set to "product name", "model name", "amount", etc. in the column setting unit 213.

문자그룹관리모듈(300)은 검색어를 추가하고 수정하고 삭제하는 기능을 제공하며, 도 6과 같이 그룹추가부(310)와 이에 의해 추가된 문자그룹을 복사하거나, 수정하거나, 삭제하거나, 문자열관리부(320)에 의해 문자열을 관리할 수 있게 구성된다. 데이터 검색 작업에 필요한 검색어 그룹을 관리하는 것이다.The character group management module 300 provides a function of adding, modifying, and deleting a search word, and copying, modifying, or deleting the group adding unit 310 and the character group added thereto, as shown in FIG. The character string is configured to manage the character string at 320. This is to manage the group of search terms needed for data retrieval.

그룹추가부(310)는 문자그룹의 고유코드를 입력받는 고유코드입력부(311), 문자그룹의 이름을 입력받는 그룹명입력부(312)를 포함하여 구성된다.The group adding unit 310 is configured to include a unique code input unit 311 for receiving a unique code of the character group, and a group name input unit 312 for receiving a name of the character group.

문자열관리부(320)는 도 7과 같이 특정 검색어에 따른 반환문자열을 추가하는 문자열추가부(321), 문자열추가부(321)에 의해 추가된 문자열의 우선순위를 변경하는 조건식적용순서변경부(322)를 포함하여 구성된다.The string management unit 320 is a string adder 321 for adding a return string according to a specific search term as shown in FIG. 7, and the conditional expression application order changing unit 322 for changing the priority of the string added by the string adder 321. It is configured to include).

문자열추가부(321)는 다수 검색어와 각 검색어의 조합 조건을 입력받는 조건별단어입력부(321a)와 기준값 이상 또는 이하의 숫자를 검색하기 위한 조건을 입력받는 기준값비교숫자입력부(321b), 조건별단어입력부(321a) 또는 비교숫자입력부(321b)에서 입력받은 조건에 맞는 값이 검색될 경우 반환할 문자열을 입력받는 반환문자열입력부(321c)로 구성된다.The character string adding unit 321 includes a word input unit 321a for each condition that receives a plurality of search terms and a combination condition of each keyword, and a reference value comparison numeric input unit 321b for receiving a condition for searching for a number above or below a reference value, and for each condition. It is composed of a return string input unit 321c which receives a string to be returned when a value matching a condition input by the word input unit 321a or the comparison number input unit 321b is searched.

도 8을 참조로 예를 들면, 중고 장터에서 SK통신사 핸드폰을 블랙색상을 제외하고 20만원 이내로 구매하고자 할 때, 조건별단어입력부(321a)의 [단어 검색 AND]에 "SK"를 입력하고, 조건별단어입력부(321a)의 [단어 검색 OR]에 "아이폰, 삼성, 갤럭시"를 입력하고, 조건별단어입력부(321a)의 [단어 검색 NOT AND]에 "블랙"을 입력하면, SK라는 단어가 반드시 포함된 게시물 중에서도, 아이폰, 삼성, 갤럭시 중 하나의 검색어가 포함된 게시물, 그리고 게시물에 블랙이라는 단어가 들어가지 않은 데이터들만 뽑아내는 것이다.For example, referring to Figure 8, when you want to purchase the SK mobile phone in the used market within 200,000 won except black color, enter "SK" in the [word search AND] of the word input unit 321a for each condition, If you enter "iPhone, Samsung, Galaxy" in the "word search OR" of the conditional word input unit 321a, and enter "black" in [word search NOT AND] of the conditional word input unit 321a, the word SK Among the posts that must be included, only the posts containing the search terms of one of the iPhone, Samsung, Galaxy, and only data that does not contain the word black in the post.

또한 20만원만 이내의 조건을 설정하기 위해 비교숫자입력부(321b)의 [숫자 비교 Down]에 "200000"을 입력하고, 반환문자열입력부(321c)인 [반환 문자열]에 "구매원합니다."를 입력하면 상기 조건을 모두 만족하는 게시글이 검색되었을 때 자동으로 "구매원합니다."라는 문자열을 댓글로 달 수 있는 매크로를 손쉽게 제작할 수 있게 된다. 이로써 자동으로 댓글을 작성하는 매크로를 만들 때 게시글의 키워드에 따라 반환 문자열을 다르게 설정하여 그에 맞는 댓글을 자동으로 달 수 있다.Also, to set the condition within 200,000 won, enter "200000" in [Compare Number Down] of the comparison number input unit 321b, and enter "Purchased." In [Return String], the return string input unit 321c. If you find a post that satisfies all the above conditions, you can easily create a macro that can be commented on the string "buy." This way, when you create a macro that automatically creates a comment, you can set the return string differently depending on the keywords of the post and automatically add a comment accordingly.

반복스케줄러관리모듈(400)은 다수의 매크로 프로젝트를 그룹으로 묶어 반복적으로 실행시키는 반복스케줄러를 관리하는 것으로서, 반복스케줄러를 추가하고 수정하고 삭제하는 기능을 제공한다. 스케줄그룹추가부(410)와 프로젝트추가부(420)로 구성되며, 스케줄그룹추가부(410)는 도 9와 같이 반복 실행할 프로젝트로 구성된 그룹의 이름을 입력받는 그룹명입력부(411), 그룹을 반복 실행할 횟수를 설정하는 실행횟수설정부(412), 그룹의 매 실행 후 대기시간을 설정하는 대기시간설정부(413)를 포함하여 구성되고, 프로젝트추가부(420)는 도 10과 같이 그룹을 구성하는 각 프로젝트의 실행횟수를 설정하는 실행횟수설정부(421), 프로젝트의 매 실행 후 대기시간을 설정하는 대기시간설정부(422)를 포함하여 구성된다.The iteration scheduler management module 400 manages an iterative scheduler that repeatedly executes a plurality of macro projects in a group, and provides a function of adding, modifying, and deleting an iterative scheduler. The schedule group adder 410 and the project adder 420 may be configured. The schedule group adder 410 may include a group name inputter 411 and a group for receiving a name of a group consisting of a project to be repeatedly executed as shown in FIG. 9. And a execution time setting unit 412 for setting the number of times to repeat the execution, and a waiting time setting unit 413 for setting a waiting time after every execution of the group, and the project adding unit 420 forms a group as shown in FIG. 10. And a waiting time setting unit 421 for setting a running frequency of each project to be configured, and a waiting time setting unit 422 for setting a waiting time after every execution of the project.

예를 들어 스케줄그룹추가부(410)의 스케줄그룹명입력부(411)에 "SNS 친구 추가", 실행횟수설정부(412)에 "10", 대기시간설정부(413)에 "60"초를 입력하면 해당 스케줄그룹을 60초마다 1번씩 총 10번을 반복하여 실행하는 것이다.For example, "SNS friend addition" to the schedule group name input unit 411 of the schedule group adding unit 410, "10" to the execution frequency setting unit 412, "60" seconds to the waiting time setting unit 413 If you enter it, the schedule group is executed 10 times, once every 60 seconds.

또한 프로젝트추가부(420)에 의해 프로젝트 A와 B를 추가하되, A라는 프로젝트의 실행 횟수 3회 대기시간 10초로 설정을 한 후, B라는 프로젝트의 실행 횟수 5회 대기시간 15초로 동일하게 추가를 한다면, A가 10초마다 프로젝트를 3번 실행한 후 B가 동일하게 15초마다 5번 실행되는 것이 해당 그룹의 1회이고, 이 과정을 60초마다 10번 반복한다.In addition, the project adding unit 420 adds the projects A and B, but after setting the waiting time 3 times the execution time of the project A is set to 10 seconds, the same time with the execution time of the project B 5 times 15 seconds If you do, A runs the project three times every 10 seconds, then B runs five times every 15 seconds, once in the group, and repeats this process ten times every 60 seconds.

타임스케줄러관리모듈(500)은 원하는 시간에 매크로 프로젝트를 실행시키는 타임스케줄러를 관리하는 것으로서, 타임스케줄러를 추가하고 수정하고 삭제하는 기능을 제공한다. 스케줄추가부(510)와 이에 의해 추가된 스케줄을 복사하거나, 수정하거나, 삭제하는 기능을 제공한다.The time scheduler management module 500 manages a time scheduler for executing a macro project at a desired time, and provides a function of adding, modifying, and deleting a time scheduler. The schedule adder 510 provides a function of copying, modifying, or deleting a schedule added by the schedule adder 510.

스케줄추가부(510)는 특정 시간에 실행할 프로젝트를 선택하는 프로젝트선택부(511), 특정 시간에 단발성으로 실행시킬지 또는 특정 시간마다 반복적으로 실행시킬지 선택하는 실행유형선택부(512), 실행시킬 시간을 설정하는 시간설정부(513)를 포함하여 구성되는데, 실행유형선택부(512)에 따라 도 11과 같이 지정 시간 실행 유형으로 실행할 요일 및 실행 시간을 설정할 수 있고, 반복 실행 유형으로 설정된 시간 간격으로 반복적으로 실행하도록 설정할 수도 있다. The schedule adder 510 includes a project selector 511 for selecting a project to be executed at a specific time, an execution type selector 512 for selecting whether to execute a single time or repeatedly at a specific time, and a time to execute It is configured to include a time setting unit 513 to set, according to the execution type selection unit 512 can set the day of the week and execution time to run as a specified time execution type, as shown in Figure 11, the time interval set to repeat execution type You can also set it to run repeatedly.

매크로실행모듈(600)은 프로젝트를 구성할 매크로를 생성하고 실행시키는 기능을 제공하며, 도 2 및 13 내지 18과 같이 프로젝트선택부(610), 스크립트출력부(620), 명령어선택부(630), 로그출력부(640), 브라우저구동부(660), 스케줄러실행부(670)로 구성된다.The macro execution module 600 provides a function for generating and executing a macro for constituting a project, and as shown in FIGS. 2 and 13 to 18, the project selection unit 610, the script output unit 620, and the command selection unit 630. The log output unit 640, the browser driver 660, and the scheduler execution unit 670 are configured.

프로젝트선택부(610)에 의해 프로젝트관리모듈(100)에 의해 생성된 매크로 프로젝트 중 실행할 프로젝트를 선택한다.The project selection unit 610 selects a project to be executed among macro projects generated by the project management module 100.

스크립트출력부(620)는 프로젝트선택부(610)에 의해 선택된 프로젝트의 매크로 스크립트가 라인별로 출력되는 부분으로서, 해당 라인을 더블클릭하여 라인별로 스크립트를 수정할 수 있다. 또한 매크로가 실행될 때 실행되는 라인이 어느부분인지 확인할 수도 있다.The script output unit 620 is a part in which the macro script of the project selected by the project selection unit 610 is output for each line. The script output unit 620 may double-click the line to modify the script for each line. You can also see which lines are executed when the macro runs.

명령어선택부(630)는 프로젝트선택부(610)에 의해 선택된 프로젝트의 매크로 스크립트를 구성할 명령어를 선택받는 부분으로서 도 19와 같은 미리 셋팅된 명령어를 제시한다. 예를 들어 도 3과 같이 명령어선택부(630)에서 'url_move(웹페이지 이동' 명령을 선택하면 url 주소를 입력받는 입력창이 뜨고, 이동하고자 하는 url 주소를 입력하여 저장버튼을 누르면 프로젝트선택부(610)에서 선택된 프로젝트의 스크립트에 명령어와 그 코드가 자동으로 등록되고 이를 스크립트출력부(620)에서 확인할 수 있다. 또한 'get html(html 가져오기)' 명령을 선택하면 도 14와 같은 입력창이 팝업창 형태로 뜨고, 브라우저구동부(660)에서 출력되는 웹페이지의 전체 소스를 가져올 것인지 드래그 한 일부 영역의 소스만 가져올 것인지 옵션을 선택한 다음 가져온 소스가 저장될 결과 변수 명을 입력하여 저장하면 스크립트출력부(620)에 해당 코드가 자동으로 등록되는 것이다.The command selector 630 presents a preset command as shown in FIG. 19 as a part for receiving a command for constituting a macro script of the project selected by the project selector 610. For example, when the 'url_move (web page move' command is selected in the command selection unit 630 as shown in FIG. 3, an input window for receiving a url address is displayed. Commands and their codes are automatically registered in the script of the project selected in step 610 and can be checked in the script output unit 620. In addition, when the 'get html (html import)' command is selected, an input window as shown in Fig. 14 is popped up. Form, and select the option to import the entire source of the web page output from the browser driver 660 or only the source of the dragged partial region, and then enter the result variable name where the imported source is to be saved. The code is automatically registered in 620.

로그출력부(640)는 프로젝트선택부(610)에 의해 선택된 프로젝트가 실행될 때 로그가 출력되는 부분으로서, 명령어선택부(630)에서 'log(로그)' 명령을 선택하면 도 15와 같이 문자열 입력창이 뜨고, "홈페이지 로그인", "해당 리뷰 댓글이 등록되었습니다"와 같이 로그출력부(640)에 출력하고자 하는 문자열을 입력한다. 이로써 매크로 실행에 따라 스크립트출력부(620)에서 라인별로 순차적으로 명령어를 실행하다가 저장된 로그 명령어가 실행되면, 현재 실행되고 있는 라인 번호와 실행 시각과 입력된 문자열이 로그출력부(640)에 출력되어 매크로 실행 상황을 확인할 수 있다. 이는 매크로가 같은 동작을 100번, 1000번 반복하고 있을 경우 현재 얼마나 진행되었는지 눈으로 확인하기 어려운 문제점을 해결해준다. 또한 매크로를 만들 때도 활용이 가능한데 {$var}의 형태로 변수를 입력하면 변수에 저장된 값이 어떤 것인지 로그출력부(640)에서 확인할 수 있게 구성함으로써 스크립트 작성이 수월해진다.The log output unit 640 is a part in which a log is output when the project selected by the project selector 610 is executed. When the 'log (log)' command is selected in the command selector 630, a character string is input as shown in FIG. 15. A window pops up, and inputs a string to be output to the log output unit 640, such as "homepage login", "the review comment has been registered". As a result, when the log command is executed sequentially in the script output unit 620 according to the macro execution, and the stored log command is executed, the currently executed line number and execution time and the input string are output to the log output unit 640. You can check the macro execution status. This solves the problem of not being able to visually check how far the macro is currently progressing if the macro repeats the same operation 100 or 1000 times. In addition, it can be used when creating macros. If a variable is input in the form of {$ var}, the script output unit 640 can be configured to check what the value stored in the variable is.

다시 정리하면, 명령어선택부(630)에서 제시하는 미리 셋팅된 명령어 선택시 해당 명령어와 관련된 데이터를 입력하는 팝업창이 뜨고, 팝업창에서 값 입력 후 저장하면 프로젝트선택부(610)에서 선택된 프로젝트의 스크립트에 해당 명령어와 그 코드가 자동으로 등록되고 스크립트출력부(620)에서 마지막 라인으로 추가되며, 매크로프로젝트 실행시 스크립트출력부(620)에서 라인별로 실행되는 결과가 브라우저구동부(660)에서 출력되고, 로그 명령어에 의한 결과는 로그출력부(640)에서 출력된다.To reorganize, a pop-up window for inputting data related to the command is displayed when the preset command presented by the command selector 630 is selected, and after inputting a value in the pop-up window, the project is selected in the script of the project selected by the project selector 610. The command and its code are automatically registered and added as the last line in the script output unit 620, the result of executing each line in the script output unit 620 when the macro project is executed is output from the browser driver 660, and the log The result of the command is output from the log output unit 640.

브라우저구동부(660)는 브라우저를 구동시켜 인터넷 화면을 출력하는 부분으로서, 도 20의 마우스 좌표를 읽어오는 'mouse_move(마우스 이동)', 'mouse_click(마우스 클릭)', 'mouse_drage(마우스 드래그)' 명령에서 좌표를 추출하는 영역이 된다. 이는 통상 매크로가 OS로 구동되는 전체 화면이 좌표 추출 영역이 되어 웹브라우저의 창 크기나 열린 위치에 따라 기준점이 달라지는 문제점을 해결한 것이다.The browser driver 660 is a part for outputting an Internet screen by driving a browser. The 'mouse_move', 'mouse_click' and 'mouse_drage' commands for reading the mouse coordinates of FIG. It is the area to extract the coordinates from. This solves the problem that the reference point varies depending on the window size or the open position of the web browser because the entire screen driven by the OS is a coordinate extraction area.

스케줄러실행부(670)는 반복스케줄러 또는 타임스케줄러를 실행시키는 기능을 제공하며, 도 2 화면 상단의 [스케줄러] 메뉴로 진입하면 도 13과 같이 스케줄러를 실행할 수 있는 실행창이 구동된다.The scheduler execution unit 670 provides a function of executing a repeating scheduler or a time scheduler. When the scheduler execution unit enters the [Scheduler] menu at the top of the screen of FIG. 2, an execution window for driving the scheduler is driven as shown in FIG. 13.

상기 구성을 바탕으로 몇 가지 실시예를 제시한다.Some embodiments are presented based on the above configuration.

HTML 소스 가공하는 방법How to process HTML source

1. 먼저 브라우저구동부(660)에서 출력된 웹페이지에 커서를 두기 위해 웹페이지의 빈 곳을 클릭한다(mouse_click 이용).1. First, to place a cursor on a web page output from the browser driver 660, click an empty part of the web page (using mouse_click).

2. 해당 웹페이지의 html 소스를 추출하여 변수 "$all_source"에 저장하며(get_html 이용), 이 때 저장된 소스코드는 표 1과 같다.2. Extract the html source of the web page and save it in the variable "$ all_source" (using get_html). At this time, the saved source codes are shown in Table 1.

<div class="example1-set2-cont-list" style="font-weight:bold;color:#000000;font-family:'Dotum';"><p>텍스트 추출을 위한 태그들</p></div><div class = "example1-set2-cont-list" style = "font-weight: bold; color: # 000000; font-family: 'Dotum';"> <p> Tags for extracting text </ p> </ div>

3. "$all_source"에 저장된 소스코드에서 특정 텍스트를 추출하는데, 'filter(문자열 자르기)' 명령을 이용하여 <p>태그안의 문자열을 추출한다. 'filter' 명령어 입력창에 도 21과 같이 설정할 경우 시작 문자열이 "<p", 끝 문자열이 "p>" 의 사이에 있는 소스를 $p_tag 에 배열로 저장한다. 3. Extract the specific text from the source code stored in "$ all_source". Use the "filter" command to extract the string inside the <p> tag. If the 'filter' command input window is set as shown in FIG. 21, the source between the start string of "<p" and the end string of "p>" is stored in $ p_tag as an array.

'log' 명령어를 이용하여 $p_tag 를 로그출력부(640)에 출력하면 표 2와 같이 출력된다.If $ p_tag is output to the log output unit 640 using the 'log' command, the output is as shown in Table 2.

$p_tag[0] = style="font-weight:bold;color:#000000;font-family:'Dotum';">텍스트 추출을 위한 태그들</$ p_tag [0] = style = "font-weight: bold; color: # 000000; font-family: 'Dotum';"> Tags for text extraction </

같은 과정을 반복하여(시작 문자열이 ">", 끝 문자열이 "</"의 사이에 있는 소스를 $p_tag_text에 배열로 저장) 추출하고자 하는 텍스트인 "텍스트 추출을 위한 태그들"만 변수에 저장할 수 있다.Repeat the same process (save source with start string ">" and end string "</" as an array in $ p_tag_text) to save only the texts you want to extract, "tags for text extraction" Can be.

while 명령어와 배열을 이용하여 표 3과 같은 소스코드에서 "가방", "축구공", "의류"를 순차적으로 추출하여 배열에 저장할 수도 있다.Using the while command and array, "bag", "soccer ball", and "clothing" can be sequentially extracted from the source code as shown in Table 3 and stored in the array.

<ul class="example1-set2-cont-list" style="font-weight:bold;color:#000000;font-family:'Dotum';">
<li style="font-weight:bold;color:#000000;font-family:'Dotum';">가방</li>
<li style="font-weight:bold;color:#000000;font-family:'Dotum';">축구공</li>
<li style="font-weight:bold;color:#000000;font-family:'Dotum';">의류</li>
</ul>
<ul class = "example1-set2-cont-list" style = "font-weight: bold; color: # 000000; font-family: 'Dotum';">
<li style = "font-weight: bold; color: # 000000; font-family: 'Dotum';"> bags </ li>
<li style = "font-weight: bold; color: # 000000; font-family: 'Dotum';"> Soccer Ball </ li>
<li style = "font-weight: bold; color: # 000000; font-family: 'Dotum';"> Clothing </ li>
</ ul>

자바스크립트 입력 방법JavaScript input method

사이트 탐색중 특정 기능을 실행하기 위해서는 주로 mouse_click(마우스 클릭) 명령어를 사용하는데, 자바 스크립트로 동작하는 기능들의 경우, 단순한 클릭만으로 실행이 어려울 수 있다.The mouse_click command is usually used to execute specific functions while browsing the site. In the case of JavaScript-enabled functions, it can be difficult to execute with a simple click.

이럴 때는 해당 스크립트를 직접 입력해서 실행해야 하므로, 도 22와 같이 직접 자바 스크립트 입력이 가능한 'javascript(자바스크립트)' 명령어를 제공한다.In this case, since the corresponding script needs to be directly input and executed, a 'javascript' command capable of directly inputting Javascript is provided as shown in FIG. 22.

탭 브라우징Tabbed browsing

예를 들어 쇼핑몰들의 상품가격을 비교하고자 할 때, 즉 A쇼핑몰 > B쇼핑몰 > A쇼핑몰 > B쇼핑몰 > ... 과 같이 번갈아가며 확인해야 하는 경우 그 때마다 url_move (웹페이지 이동) 명령어를 사용해서 사이트를 바꿔가서 접속하지 않고 탭 브라우징 기능을 이용하여 편리하게 탭을 오가며 작업하는 것이 가능하다.For example, if you want to compare the prices of products in shopping malls, that is, if you need to check them alternately, such as A shopping mall> B shopping mall> A shopping mall> B shopping mall> ..., use the url_move command. You can easily navigate between tabs using tabbed browsing without having to switch between sites.

'tab_select(탭 선택하기)' 명령어를 제공하는데 이를 이용하면 도 23과 같이 브라우저구동부(660)에서 브라우저 1이 구동된 상태에서 'tab_select' 명령어 입력창에서 브라우저 2를 선택하여 저장하면 매크로 실행시 자동으로 브라우저 2를 구동시키는 스크립트를 추가할 수 있다.'tab_select (tab select)' command is provided. When using this, as shown in FIG. 23, when browser 1 is driven in the browser driving unit 660, browser 2 is selected and saved in the 'tab_select' command input window to be automatically executed when a macro is executed. You can add a script to run Browser 2.

자동 댓글 작성Auto comment

도 16은 자동으로 댓글을 작성하도록 제작된 매크로를 실행하는 화면을 제시하는데, 브라우저구동부(660)에서 매크로가 자동 재생되면서 게시글에 댓글이 작성되고, 로그출력부(640)에서 이를 실시간으로 확인할 수 있다.16 shows a screen for executing a macro produced to automatically write a comment, the macro is automatically played in the browser driver 660, a comment is written in the post, and the log output unit 640 can check it in real time. have.

홈페이지 순위 추출Homepage Rank Extraction

도 17은 포털사이트에서 키워드 검색 시 출력되는 결과화면에서 관련 홈페이지가 순차적으로 출력될 경우 이 중 특정 홈페이지가 몇 번째에 위치하는지 추출하는 매크로에 대한 화면이다. 브라우저구동부(660)에서 출력되는 화면의 소스코드를 읽어와 각 홈페이지를 변수로 저장하여 로그출력부(640)에 로그로 출력 및 카운트하다가 특정 홈페이지와 일치하는 문자열이 발견될 경우 도 18과 같이 누적 카운트를 순위를 로그출력부(640)에 출력하고 매크로를 종료하는 것이다.FIG. 17 is a screen illustrating a macro for extracting the position of a specific homepage when a related homepage is sequentially output in a result screen outputted when a keyword is searched in a portal site. Read the source code of the screen output from the browser driver 660, store each home page as a variable, output and count it as a log in the log output unit 640, and accumulate as shown in FIG. The count is output to the log output unit 640 and the macro is terminated.

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경 가능함은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어서 명백할 것이다.The present invention described above is not limited to the above-described embodiment and the accompanying drawings, and various substitutions, modifications, and changes within the scope not departing from the technical spirit of the present invention are common in the art. It will be apparent to those who have knowledge.

100 : 프로젝트관리모듈
110 : 프로젝트추가부
111 : 제목입력부
112 : 설명입력부
113 : DB선택부
200 : 데이터베이스관리모듈
210 : DB추가부
211 : 고유코드입력부
212 : 테이블명입력부
213 : 컬럼설정부
300 : 문자그룹관리모듈
310 : 그룹추가부
311 : 고유코드입력부
312 : 그룹명입력부
320 : 문자열관리부
321 : 문자열추가부
321a : 조건별단어입력부
321b : 비교숫자입력부
321c : 반환문자열입력부
322 : 조건식적용순서변경부
400 : 반복스케줄러관리모듈
410 : 스케줄그룹추가부
411 : 스케줄그룹명입력부
412 : 실행횟수설정부
413 : 대기시간설정부
420 : 프로젝트추가부
421 : 실행횟수설정부
422 : 대기시간설정부
500 : 타임스케줄러관리모듈
510 : 스케줄추가부
511 : 프로젝트선택부
512 : 실행유형선택부
513 : 시간설정부
600 : 매크로실행모듈
610 : 프로젝트선택부
620 : 스크립트출력부
630 : 명령어선택부
640 : 로그출력부
660 : 브라우저구동부
670 : 스케줄러실행부
100: project management module
110: additional project
111: title input unit
112: description input unit
113: DB selection unit
200: database management module
210: DB addition unit
211: unique code input unit
212: table name input unit
213: column setting unit
300: character group management module
310: add group
311: unique code input unit
312: group name input unit
320: string management unit
321: string addition unit
321a: Conditional word input unit
321b: comparison numeric input unit
321c: return string input unit
322: Order change part of the conditional expression application
400: repeat scheduler management module
410: adding schedule group
411: schedule group name input unit
412: execution frequency setting unit
413: standby time setting unit
420: add project
421: execution frequency setting unit
422: wait time setting unit
500: time scheduler management module
510: schedule addition unit
511 project selection unit
512: execution type selection unit
513: time setting unit
600: macro execution module
610: project selection unit
620: script output unit
630: command selection unit
640: log output unit
660: browser drive unit
670: scheduler execution unit

Claims (3)

매크로프로젝트를 추가하고 수정하고 삭제하는 프로젝트관리모듈(100);
매크로프로젝트에서 사용할 데이터베이스를 추가하고 수정하고 삭제하는 데이터베이스관리모듈(200);
검색어를 추가하고 수정하고 삭제하는 문자그룹관리모듈(300);
프로젝트를 구성할 매크로를 생성하고 실행시키는 매크로실행모듈(600);을 포함하고,

상기 프로젝트관리모듈(100)은
프로젝트의 제목을 입력받는 제목입력부(111), 프로젝트에 대한 설명을 입력받는 설명입력부(112), 매크로가 수행되는 동안 사용될 데이터가 저장된 DB 또는 수집된 데이터가 저장될 DB를 선택하는 DB선택부(113)를 포함하여 구성되는 프로젝트추가부(110)를 포함하며,

상기 데이터베이스관리모듈(200)은
DB의 고유코드를 입력받는 고유코드입력부(211), DB를 구성하는 테이블의 이름을 입력받는 테이블명입력부(212), DB를 구성하는 테이블의 컬럼을 설정하는 컬럼설정부(213)를 포함하여 구성되는 DB추가부(210)를 포함하고,

상기 문자그룹관리모듈(300)은
문자그룹의 고유코드를 입력받는 고유코드입력부(311), 문자그룹의 이름을 입력받는 그룹명입력부(312)를 포함하여 구성되는 그룹추가부(310),
특정 검색어에 따른 반환문자열을 추가하는 문자열추가부(321), 문자열추가부(321)에 의해 추가된 문자열의 우선순위를 변경하는 조건식적용순서변경부(322)를 포함하여 구성되는 문자열추가부(320)를 포함하고,

상기 문자열추가부(321)는
다수 검색어와 각 검색어의 조합 조건을 입력받는 조건별단어입력부(321a),
기준값 이상 또는 이하의 숫자를 검색하기 위한 조건을 입력받는 기준값비교숫자입력부(321b),
조건별단어입력부(321a) 또는 비교숫자입력부(321b)에서 입력받은 조건에 맞는 값이 검색될 경우 반환할 문자열을 입력받는 반환문자열입력부(321c)를 포함하는 것을 특징으로 하고,

상기 매크로실행모듈(600)은
프로젝트관리모듈(100)에 의해 생성된 매크로 프로젝트 중 실행할 프로젝트를 선택하는 프로젝트선택부(610),
매크로 스크립트가 라인별로 출력되는 스크립트출력부(620),
매크로 스크립트를 구성할 명령어를 선택받는 명령어선택부(630),
프로젝트선택부(610)에 의해 선택된 프로젝트가 실행될 때 로그가 출력되는 로그출력부(640),
브라우저를 구동시켜 인터넷 화면을 출력하는 브라우저구동부(660)를 포함하며,

명령어선택부(630)에서 제시하는 미리 셋팅된 명령어 선택시 해당 명령어와 관련된 데이터를 입력하는 팝업창이 뜨고,
팝업창에서 값 입력 후 저장하면 프로젝트선택부(610)에서 선택된 프로젝트의 스크립트에 해당 명령어와 그 코드가 자동으로 등록되고 스크립트출력부(620)에서 마지막 라인으로 추가되며,
매크로프로젝트 실행시 스크립트출력부(620)에서 라인별로 실행되는 결과가 브라우저구동부(660)에서 출력되고,
로그 명령어에 의한 결과는 로그출력부(640)에서 출력되는 것을 특징으로 하는
소스코드 가공 방식의 웹브라우저용 매크로 시스템.
Project management module 100 for adding, modifying and deleting macro projects;
A database management module 200 for adding, modifying, and deleting a database to be used in a macro project;
Character group management module 300 for adding, modifying and deleting search terms;
It includes; macro execution module 600 for generating and executing a macro to configure a project,

The project management module 100
Title input unit 111 for inputting the title of the project, description input unit 112 for receiving a description of the project, DB selection unit for selecting a DB in which the data to be used while the macro is stored or a database in which the collected data is stored ( Includes a project adding unit 110, including 113),

The database management module 200
Including a unique code input unit 211 for receiving the unique code of the DB, a table name input unit 212 for receiving the name of the table constituting the DB, and a column setting unit 213 for setting the columns of the table constituting the DB DB addition unit 210 is configured,

The character group management module 300
A group adding unit 310 including a unique code input unit 311 for receiving a unique code of the character group, a group name input unit 312 for receiving a name of the character group,
A string adder configured to include a string adder 321 to add a return string according to a specific search term, and a conditional expression application order changer 322 to change the priority of the string added by the string adder 321. 320),

The string adding unit 321 is
Condition-specific word input unit 321a for receiving a plurality of search terms and a combination condition of each search word,
A reference value comparison numeric input unit 321b for receiving a condition for searching for a number above or below a reference value;
And a return string input unit 321c for receiving a string to be returned when a value matching a condition input by the conditional word input unit 321a or the comparison number input unit 321b is searched.

The macro execution module 600 is
A project selection unit 610 for selecting a project to be executed among macro projects generated by the project management module 100;
Script output unit 620, the macro script is output for each line,
Command selection unit 630 for receiving a command to configure a macro script,
Log output unit 640, which outputs a log when the project selected by the project selection unit 610 is executed,
It includes a browser driver 660 for outputting the Internet screen by driving the browser,

When the preset command presented by the command selection unit 630 is selected, a popup window for inputting data related to the command appears.
After inputting the value in the popup window and saving it, the command and its code are automatically registered in the script of the project selected by the project selection unit 610 and added as the last line in the script output unit 620.
When the macro project is executed, the result of being executed for each line in the script output unit 620 is output from the browser driver 660.
The result of the log command is output from the log output unit 640, characterized in that
Macro system for web browsers with source code processing.
제 1 항에 있어서,
프로젝트를 반복실행시키는 반복스케줄러를 추가하고 수정하고 삭제하는 반복스케줄러관리모듈(400);
특정 시간에 프로젝트를 실행시키는 타임스케줄러를 추가하고 수정하고 삭제하는 타임스케줄러관리모듈(500);을 더 포함하고,

상기 반복스케줄러관리모듈(400)은
반복 실행할 프로젝트로 구성된 그룹의 이름을 입력받는 그룹명입력부(411), 그룹을 반복 실행할 횟수를 설정하는 실행횟수설정부(412), 그룹의 매 실행 후 대기시간을 설정하는 대기시간설정부(413)를 포함하여 구성되는 스케줄그룹추가부(410),
그룹을 구성하는 각 프로젝트의 실행횟수를 설정하는 실행횟수설정부(421), 프로젝트의 매 실행 후 대기시간을 설정하는 대기시간설정부(422)를 포함하여 구성되는 프로젝트추가부(420)를 포함하고,

상기 타임스케줄러관리모듈(500)은
특정 시간에 실행할 프로젝트를 선택하는 프로젝트선택부(511), 특정 시간에 단발성으로 실행시킬지 또는 특정 시간마다 반복적으로 실행시킬지 선택하는 실행유형선택부(512), 실행시킬 시간을 설정하는 시간설정부(513)를 포함하여 구성되는 스케줄추가부(510)를 포함하며,

상기 매크로실행모듈(600)은
반복스케줄러 또는 타임스케줄러를 실행시키는 스케줄러실행부(670)를 더 포함하는 것을 특징으로 하는
소스코드 가공 방식의 웹브라우저용 매크로 시스템.

The method of claim 1,
A repeating scheduler management module 400 for adding, modifying, and deleting a repeating scheduler for repeatedly executing a project;
And a time scheduler management module 500 for adding, modifying, and deleting a time scheduler for executing a project at a specific time.

The repeating scheduler management module 400
A group name input unit 411 for receiving a name of a group consisting of projects to be repeatedly executed, an execution frequency setting unit 412 for setting a number of times to execute the group repeatedly, and a waiting time setting unit for setting a waiting time after every execution of the group Schedule group adding unit 410, including;
And a project adder 420 configured to include a run count setting unit 421 for setting a run count of each project constituting the group, and a wait time setter 422 for setting a wait time after every run of the project. and,

The time scheduler management module 500
A project selection unit 511 for selecting a project to be executed at a specific time, an execution type selection unit 512 for selecting whether to execute one time at a specific time or repeatedly at a specific time, and a time setting unit for setting a time to be executed ( And a schedule adder 510 configured to include 513,

The macro execution module 600 is
Characterized in that it further comprises a scheduler execution unit 670 for executing a repeating scheduler or time scheduler
Macro system for web browsers with source code processing.

삭제delete
KR1020180072033A 2018-06-22 2018-06-22 Macro system for web browsers with source code editing KR102054663B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180072033A KR102054663B1 (en) 2018-06-22 2018-06-22 Macro system for web browsers with source code editing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180072033A KR102054663B1 (en) 2018-06-22 2018-06-22 Macro system for web browsers with source code editing

Publications (1)

Publication Number Publication Date
KR102054663B1 true KR102054663B1 (en) 2020-01-22

Family

ID=69368407

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180072033A KR102054663B1 (en) 2018-06-22 2018-06-22 Macro system for web browsers with source code editing

Country Status (1)

Country Link
KR (1) KR102054663B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002334058A (en) * 2001-05-10 2002-11-22 Beacon Information Technology:Kk Method and system for executing application of mainframe and program
KR20120068863A (en) * 2009-08-13 2012-06-27 구글 인코포레이티드 Event-triggered server-side macros
KR101605507B1 (en) 2014-10-07 2016-03-22 숭실대학교산학협력단 Method for executing macro and control method of web sever for executing macro, recording medium for performing the method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002334058A (en) * 2001-05-10 2002-11-22 Beacon Information Technology:Kk Method and system for executing application of mainframe and program
KR20120068863A (en) * 2009-08-13 2012-06-27 구글 인코포레이티드 Event-triggered server-side macros
KR101605507B1 (en) 2014-10-07 2016-03-22 숭실대학교산학협력단 Method for executing macro and control method of web sever for executing macro, recording medium for performing the method

Similar Documents

Publication Publication Date Title
Davies et al. Simulation modelling with Pascal
Gardener Beginning R: The statistical programming language
RU2383923C2 (en) Designing functions of electronic work sheets for working with data tables
US8185585B2 (en) Method for sending an electronic message utilizing connection information and recipient information
KR101517460B1 (en) Graphic representations of data relationships
CN104823158B (en) Method and system for simplified knowledge engineering
US11748557B2 (en) Personalization of content suggestions for document creation
CN105808764A (en) Recommended content display method and device
CN102142011A (en) Website font previewing
CN116127203B (en) RPA service component recommendation method and system combining page information
Standridge et al. TESS—the extended simulation support system
CN104361093A (en) Universal Web automatic browsing navigation method
Pavel et al. Browsing and analyzing the command-level structure of large collections of image manipulation tutorials
CN105468627A (en) Method and system for shielding and filtering web page contents
KR102054663B1 (en) Macro system for web browsers with source code editing
CN104268246A (en) Method for generating instruction script for visiting websites and visiting method and device
Omura Mastering AutoCAD
CN110968311A (en) Front-end page construction method and device and electronic equipment
US20210209175A1 (en) Web crawling system based on software as service
Holzner Beginning ruby on rails
Coulouris et al. HyperProgramming: building interactive programs with HyperCard
CN117235397B (en) Form data input method, device and medium
Visochek Practical Data Wrangling: Expert techniques for transforming your raw data into a valuable source for analytics
TWI834538B (en) Interface generating system and interface generating method
Yoon Comparison Between Python and Web User Interfaces

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant