KR102054663B1 - Macro system for web browsers with source code editing - Google Patents
Macro system for web browsers with source code editing Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
Abstract
Description
본 발명은 웹브라우저에서 출력되는 화면의 소스코드를 가공하여 매크로를 제작하고 실행시키는 시스템에 관한 것이다.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.
본 발명에서 해결하고자 하는 과제는 다음과 같다.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)에서 출력되는 것을 특징으로 하고,
매크로프로젝트에서 사용할 데이터베이스를 추가하고 수정하고 삭제하는 데이터베이스관리모듈(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
프로젝트를 반복실행시키는 반복스케줄러를 추가하고 수정하고 삭제하는 반복스케줄러관리모듈(400); 특정 시간에 프로젝트를 실행시키는 타임스케줄러를 추가하고 수정하고 삭제하는 타임스케줄러관리모듈(500);을 더 포함하고, 상기 반복스케줄러관리모듈(400)은 반복 실행할 프로젝트로 구성된 그룹의 이름을 입력받는 그룹명입력부(411), 그룹을 반복 실행할 횟수를 설정하는 실행횟수설정부(412), 그룹의 매 실행 후 대기시간을 설정하는 대기시간설정부(413)를 포함하여 구성되는 스케줄그룹추가부(410), 그룹을 구성하는 각 프로젝트의 실행횟수를 설정하는 실행횟수설정부(421), 프로젝트의 매 실행 후 대기시간을 설정하는 대기시간설정부(422)를 포함하여 구성되는 프로젝트추가부(420)를 포함하고, 상기 타임스케줄러관리모듈(500)은 특정 시간에 실행할 프로젝트를 선택하는 프로젝트선택부(511), 특정 시간에 단발성으로 실행시킬지 또는 특정 시간마다 반복적으로 실행시킬지 선택하는 실행유형선택부(512), 실행시킬 시간을 설정하는 시간설정부(513)를 포함하여 구성되는 스케줄추가부(510)를 포함하며, 상기 매크로실행모듈(600)은 반복스케줄러 또는 타임스케줄러를 실행시키는 스케줄러실행부(670)를 더 포함하는 것을 특징으로 하는 소스코드 가공 방식의 웹브라우저용 매크로 시스템을 제시한다.A repeating
본 발명은 다음과 같은 효과를 발휘한다.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
프로젝트관리모듈(100)은 매크로 프로젝트를 추가하고 수정하고 삭제하는 기능을 제공하며, 도 4와 같이 프로젝트추가부(110)와 이에 의해 추가된 프로젝트를 복사하거나, 수정하거나, 초기화하거나, 삭제하거나, 백업파일을 만들어 다운로드하거나(백업다운로드), 다운로드한 백업파일을 이용하여 프로젝트를 복원(불러오기)하거나, 배포하거나, 여러 프로젝트가 나열된 순서를 변경할 수 있게 구성된다. 프로젝트로는 데이터 수집 및 분석 프로젝트, SNS 친구 추가하기 프로젝트, 상품 가격 분석하기 프로젝트 등 반복적으로 이루어지는 작업을 자동화하는 매크로가 해당될 수 있다.The
프로젝트추가부(110)는 새로운 매크로를 생성하기 위한 것으로서, 프로젝트의 제목을 입력받는 제목입력부(111), 프로젝트에 대한 설명을 입력받는 설명입력부(112), 매크로가 수행되는 동안 사용될 데이터가 저장된 DB 또는 수집된 데이터가 저장될 데이터베이스(DB)를 선택하는 DB선택부(113)를 포함하여 구성된다. DB선택부(113)에서 선택가능한 DB는 데이터베이스관리모듈(200)에 의해 생성 및 관리된다.The
데이터베이스관리모듈(200)은 매크로 프로젝트에서 사용할 데이터베이스를 추가하고 수정하고 삭제하는 기능을 제공하며, 도 5와 같이 DB추가부(210)와 이에 의해 추가된 데이터베이스를 복사하거나, 수정하거나, 삭제하거나, 엑셀파일형식으로 다운로드하거나, 데이터를 확인 및 업로드(데이터관리)할 수 있게 구성된다. The
데이터베이스관리모듈(200)의 [테이블추가] 메뉴를 클릭하면 DB추가부(210)가 구동되며, 이는 DB의 고유코드를 입력받는 고유코드입력부(211), DB를 구성하는 테이블의 이름을 입력받는 테이블명입력부(212), DB를 구성하는 테이블의 컬럼을 설정하는 컬럼설정부(213)를 포함하여 구성된다. 예를 들어 중고거래가격에 대한 데이터를 수집할 경우 테이블명입력부(212)에 "중고거래가 확인", 컬럼설정부(213)에는 "제품명", "모델명", "금액" 등으로 설정하면 된다.Clicking the [Add Table] menu of the
문자그룹관리모듈(300)은 검색어를 추가하고 수정하고 삭제하는 기능을 제공하며, 도 6과 같이 그룹추가부(310)와 이에 의해 추가된 문자그룹을 복사하거나, 수정하거나, 삭제하거나, 문자열관리부(320)에 의해 문자열을 관리할 수 있게 구성된다. 데이터 검색 작업에 필요한 검색어 그룹을 관리하는 것이다.The character
그룹추가부(310)는 문자그룹의 고유코드를 입력받는 고유코드입력부(311), 문자그룹의 이름을 입력받는 그룹명입력부(312)를 포함하여 구성된다.The
문자열관리부(320)는 도 7과 같이 특정 검색어에 따른 반환문자열을 추가하는 문자열추가부(321), 문자열추가부(321)에 의해 추가된 문자열의 우선순위를 변경하는 조건식적용순서변경부(322)를 포함하여 구성된다.The
문자열추가부(321)는 다수 검색어와 각 검색어의 조합 조건을 입력받는 조건별단어입력부(321a)와 기준값 이상 또는 이하의 숫자를 검색하기 위한 조건을 입력받는 기준값비교숫자입력부(321b), 조건별단어입력부(321a) 또는 비교숫자입력부(321b)에서 입력받은 조건에 맞는 값이 검색될 경우 반환할 문자열을 입력받는 반환문자열입력부(321c)로 구성된다.The character
도 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
또한 20만원만 이내의 조건을 설정하기 위해 비교숫자입력부(321b)의 [숫자 비교 Down]에 "200000"을 입력하고, 반환문자열입력부(321c)인 [반환 문자열]에 "구매원합니다."를 입력하면 상기 조건을 모두 만족하는 게시글이 검색되었을 때 자동으로 "구매원합니다."라는 문자열을 댓글로 달 수 있는 매크로를 손쉽게 제작할 수 있게 된다. 이로써 자동으로 댓글을 작성하는 매크로를 만들 때 게시글의 키워드에 따라 반환 문자열을 다르게 설정하여 그에 맞는 댓글을 자동으로 달 수 있다.Also, to set the condition within 200,000 won, enter "200000" in [Compare Number Down] of the comparison
반복스케줄러관리모듈(400)은 다수의 매크로 프로젝트를 그룹으로 묶어 반복적으로 실행시키는 반복스케줄러를 관리하는 것으로서, 반복스케줄러를 추가하고 수정하고 삭제하는 기능을 제공한다. 스케줄그룹추가부(410)와 프로젝트추가부(420)로 구성되며, 스케줄그룹추가부(410)는 도 9와 같이 반복 실행할 프로젝트로 구성된 그룹의 이름을 입력받는 그룹명입력부(411), 그룹을 반복 실행할 횟수를 설정하는 실행횟수설정부(412), 그룹의 매 실행 후 대기시간을 설정하는 대기시간설정부(413)를 포함하여 구성되고, 프로젝트추가부(420)는 도 10과 같이 그룹을 구성하는 각 프로젝트의 실행횟수를 설정하는 실행횟수설정부(421), 프로젝트의 매 실행 후 대기시간을 설정하는 대기시간설정부(422)를 포함하여 구성된다.The iteration
예를 들어 스케줄그룹추가부(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
또한 프로젝트추가부(420)에 의해 프로젝트 A와 B를 추가하되, A라는 프로젝트의 실행 횟수 3회 대기시간 10초로 설정을 한 후, B라는 프로젝트의 실행 횟수 5회 대기시간 15초로 동일하게 추가를 한다면, A가 10초마다 프로젝트를 3번 실행한 후 B가 동일하게 15초마다 5번 실행되는 것이 해당 그룹의 1회이고, 이 과정을 60초마다 10번 반복한다.In addition, the
타임스케줄러관리모듈(500)은 원하는 시간에 매크로 프로젝트를 실행시키는 타임스케줄러를 관리하는 것으로서, 타임스케줄러를 추가하고 수정하고 삭제하는 기능을 제공한다. 스케줄추가부(510)와 이에 의해 추가된 스케줄을 복사하거나, 수정하거나, 삭제하는 기능을 제공한다.The time
스케줄추가부(510)는 특정 시간에 실행할 프로젝트를 선택하는 프로젝트선택부(511), 특정 시간에 단발성으로 실행시킬지 또는 특정 시간마다 반복적으로 실행시킬지 선택하는 실행유형선택부(512), 실행시킬 시간을 설정하는 시간설정부(513)를 포함하여 구성되는데, 실행유형선택부(512)에 따라 도 11과 같이 지정 시간 실행 유형으로 실행할 요일 및 실행 시간을 설정할 수 있고, 반복 실행 유형으로 설정된 시간 간격으로 반복적으로 실행하도록 설정할 수도 있다. The
매크로실행모듈(600)은 프로젝트를 구성할 매크로를 생성하고 실행시키는 기능을 제공하며, 도 2 및 13 내지 18과 같이 프로젝트선택부(610), 스크립트출력부(620), 명령어선택부(630), 로그출력부(640), 브라우저구동부(660), 스케줄러실행부(670)로 구성된다.The
프로젝트선택부(610)에 의해 프로젝트관리모듈(100)에 의해 생성된 매크로 프로젝트 중 실행할 프로젝트를 선택한다.The
스크립트출력부(620)는 프로젝트선택부(610)에 의해 선택된 프로젝트의 매크로 스크립트가 라인별로 출력되는 부분으로서, 해당 라인을 더블클릭하여 라인별로 스크립트를 수정할 수 있다. 또한 매크로가 실행될 때 실행되는 라인이 어느부분인지 확인할 수도 있다.The
명령어선택부(630)는 프로젝트선택부(610)에 의해 선택된 프로젝트의 매크로 스크립트를 구성할 명령어를 선택받는 부분으로서 도 19와 같은 미리 셋팅된 명령어를 제시한다. 예를 들어 도 3과 같이 명령어선택부(630)에서 'url_move(웹페이지 이동' 명령을 선택하면 url 주소를 입력받는 입력창이 뜨고, 이동하고자 하는 url 주소를 입력하여 저장버튼을 누르면 프로젝트선택부(610)에서 선택된 프로젝트의 스크립트에 명령어와 그 코드가 자동으로 등록되고 이를 스크립트출력부(620)에서 확인할 수 있다. 또한 'get html(html 가져오기)' 명령을 선택하면 도 14와 같은 입력창이 팝업창 형태로 뜨고, 브라우저구동부(660)에서 출력되는 웹페이지의 전체 소스를 가져올 것인지 드래그 한 일부 영역의 소스만 가져올 것인지 옵션을 선택한 다음 가져온 소스가 저장될 결과 변수 명을 입력하여 저장하면 스크립트출력부(620)에 해당 코드가 자동으로 등록되는 것이다.The
로그출력부(640)는 프로젝트선택부(610)에 의해 선택된 프로젝트가 실행될 때 로그가 출력되는 부분으로서, 명령어선택부(630)에서 'log(로그)' 명령을 선택하면 도 15와 같이 문자열 입력창이 뜨고, "홈페이지 로그인", "해당 리뷰 댓글이 등록되었습니다"와 같이 로그출력부(640)에 출력하고자 하는 문자열을 입력한다. 이로써 매크로 실행에 따라 스크립트출력부(620)에서 라인별로 순차적으로 명령어를 실행하다가 저장된 로그 명령어가 실행되면, 현재 실행되고 있는 라인 번호와 실행 시각과 입력된 문자열이 로그출력부(640)에 출력되어 매크로 실행 상황을 확인할 수 있다. 이는 매크로가 같은 동작을 100번, 1000번 반복하고 있을 경우 현재 얼마나 진행되었는지 눈으로 확인하기 어려운 문제점을 해결해준다. 또한 매크로를 만들 때도 활용이 가능한데 {$var}의 형태로 변수를 입력하면 변수에 저장된 값이 어떤 것인지 로그출력부(640)에서 확인할 수 있게 구성함으로써 스크립트 작성이 수월해진다.The
다시 정리하면, 명령어선택부(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
브라우저구동부(660)는 브라우저를 구동시켜 인터넷 화면을 출력하는 부분으로서, 도 20의 마우스 좌표를 읽어오는 'mouse_move(마우스 이동)', 'mouse_click(마우스 클릭)', 'mouse_drage(마우스 드래그)' 명령에서 좌표를 추출하는 영역이 된다. 이는 통상 매크로가 OS로 구동되는 전체 화면이 좌표 추출 영역이 되어 웹브라우저의 창 크기나 열린 위치에 따라 기준점이 달라지는 문제점을 해결한 것이다.The
스케줄러실행부(670)는 반복스케줄러 또는 타임스케줄러를 실행시키는 기능을 제공하며, 도 2 화면 상단의 [스케줄러] 메뉴로 진입하면 도 13과 같이 스케줄러를 실행할 수 있는 실행창이 구동된다.The
상기 구성을 바탕으로 몇 가지 실시예를 제시한다.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
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.
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
같은 과정을 반복하여(시작 문자열이 ">", 끝 문자열이 "</"의 사이에 있는 소스를 $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.
<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
자동 댓글 작성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
홈페이지 순위 추출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
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경 가능함은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어서 명백할 것이다.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)
매크로프로젝트에서 사용할 데이터베이스를 추가하고 수정하고 삭제하는 데이터베이스관리모듈(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.
프로젝트를 반복실행시키는 반복스케줄러를 추가하고 수정하고 삭제하는 반복스케줄러관리모듈(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.
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)
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 |
-
2018
- 2018-06-22 KR KR1020180072033A patent/KR102054663B1/en active IP Right Grant
Patent Citations (3)
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 |