[Puppeteer] 퍼펫티어의 브라우저를 크롬으로 변경하기[Puppeteer] 퍼펫티어의 브라우저를 크롬으로 변경하기

Posted at 2019. 4. 29. 11:33 | Posted in Node.js/Puppeteer
반응형




■ 크로미엄 기반의 브라우저를 퍼펫티어로 제어하기




퍼펫티어는 기본적으로 node 모듈 설치시 같이 설치된 chromium 브라우저를 기반으로 실행된다.





단순한 작업이라면 기본 설치된 크로미움만을 이용해도 문제가 없겠지만.


사용자 인증 과 플러그인 설치등 몇가지 이유로 크로미움만을 사용하는 것에는 한계가 있다.


다행이 퍼펫티어는 구글에서 제공하는 라이브러리 답게 크로미움과 크롬 브라우저의 엔진인 WebKit을 사용하는 


크로미엄을 기반으로 하는 모든 브라우저의 제어가 가능하다.





※ 크로미엄을 기반으로하는 브라우저 종류

브라우저

다운로드 사이트 URL

크롬

 https://www.google.com/intl/ko/chrome/

오페라

 https://www.opera.com/ko/

비발디

 https://vivaldi.com/

브레이브

 https://brave.com/fna497

웨일

 https://whale.naver.com/ko/

블리스크

 https://blisk.io/




TIP. 필자는 주력 브라우저로 파이어 폭스(FireFox)와 크롬(Chrome)을 사용중에 있다.

     그래서 위 예제를 사용하기 위해서는 반드시 사용중인 크롬을 반드시 종료시키고 진행을 해야 했다.

     테스트등 위 예제의 사용시에는 executablePath 실행 경로를 다른 WebKit 기반의 브라우저로 대체하여 작업을 하는것이

     여러모로 스트레스를 덜 받을 것이다.

     위의 필자가 정리한 브라우저들은 전부 필자가 설치하고 테스트 해본것이기에 원하는 브라우저를 다운받고 진행하는 것을 추천한다.





# 소스 코드

 puppeteer_chrome.js

const puppeteer = require("puppeteer");


function delay(timeout) {

  return new Promise((resolve) => {

    setTimeout(resolve, timeout);

  });

}


puppeteer.launch({

  headless : false

, devtools : false

  // 윈도우 크롬 자동 설치시 설치되는 경로

, executablePath : "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"

  // 윈도우 크롬 사용자 정보를 가지는 경로

, userDataDir : "C:/Users/사용자 계정/AppData/Local/Google/Chrome/User Data"

  // 실행될 브라우저의 화면 크기를 지정한다.

, defaultViewport : { width : 1920, height: 1080 }

, args : [ ]

}).then(async browser => {

const page = await browser.newPage();

await page.goto("https://mail.google.com/mail/u/0/#inbox", { waitUntil : "networkidle2" } );


await delay(5000);

await page.screenshot( { path : "Gmail_Login.png" } );

 

await browser.close();

});





# 노드 실행

C:> node puppeteer_chrome.js





# 출력결과① - 브라우저






# 출력결과② - 스크린샷 이미지 파일





위 이미지와 같이 로그인 절차를 생략하고 바로 G메일 계정에 접근한 것을 확인 할 수 있다.





이 포스팅에서 퍼펫티어이 브라우저를 크롬으로 변경하고, 사용자 계정의 로그인 값을 가져갈 수 있음을 확인했다.


그렇다면 좀더 이어서 크롬의 장점이기도한 확장 플러그인의 사용까지 알아보자.




다음글 : [Puppeteer] 퍼펫티어에서 크롬 확장프로그램 사용하기






반응형
//