코딩/puppeteer 자동화

Javascript 자동화 - Headless chrome puppeteer 소개

salzzak 2019. 9. 30. 14:23
728x90

 

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