Javascript 자동화 - Headless chrome puppeteer 소개
Puppeteer - 인형을 부리는 인형술사라는 뜻
안녕하세요, salzzak입니다~
puppeteer은 구글 크롬 프로젝트에서 만든 Headless chrome API 입니다.
크롬브라우저에서의 자동화 테스트를 headless모드와 nod-headless 모드 둘 다 사용가능하도록 하는 node.js 라이브러리로, 헤드리스 브라우저란 일반적으로 시각적으로 보이지 않고 백그라운드에서 작동하는 브라우저를 말합니다.
https://github.com/GoogleChrome/puppeteer
위 github에 있는 설명을 공부하면서 포스팅을 해보겠습니다!
우선 node.js 를 아래 링크에서 받으십니다~
https://nodejs.org/en/download/
설치가 완료 되면 cmd 프롬프트를 열어서 아래 커맨드 라인을 적어줍니다.
npm i puppeteer
임의 폴더를 생성 후, test.js 를 생성합니다.
(저는 비쥬얼 스튜디오 코드를 에디터로 사용하고 있습니다.)
const puppeteer = require('puppeteer');
async function test() {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.naver.com');
await page.screenshot({ path: 'test.png' });
browser.close();
}
test();
test.js 에 위 소스코드를 입력해봅니다. 위는 네이버에 접속 후. 화면을 test.png로 저장하는 코드입니다.
cmd 를 열어서. 소스코드가 있는 폴더로 이동 후, 아래 커맨드 라인을 입력합니다.
node test.js
위와 같이 결과가 아무것도 안나오는데요, 소스코드가 있는 폴더를 확인하시면 test.png 가 생성되어 있는걸 확인할 수 있습니다.
화면상으로 아무것도 나타나지 않았지만, 네이버 화면이 캡쳐되어있네요!
다음에는 puppeteer를 이용해서 더 다양한 동작을 시도해보겠습니다~!
인스타그램 : https://www.instagram.com/salzzak_art/
스팀잇 : https://steemit.com/@salzzakart