Skip to content

PhantomJS #
Find similar titles

정의 #

자바스크립트 API를 Webkit 기반에 브라우저 없이 스크립팅 할 수 있게 해주는 것입니다.
DOM 처리, CSS 선택기, JSON, Canvas 및 SVG와 같은 다양한 웹 표준을 기본으로 지원합니다.

특징 #

1. 사용성 #

  • Jasmine, QUnit, Mocha, Capybara, WebDriver 및 기타 여러 프레임 워크로 기능 테스트 가능
  • SVG, Canvas등과 같은 웹컨텐츠를 캡쳐 할 수 있음.
  • 표준 DOM API나 jQuery와 같은 라이브러리를 이용하여 DOM에 접근 하여 조작 가능 YSlow나 Jenkins등으로 네트워크 성능 분석 자동화를 할 수 있습니다.

2. 장점 #

Windows, Mac OS X, Linux 등 메이저한 OS를 지원(멀티플랫폼) 에뮬레이터 없이 빠르고 네이티브한 웹 표준 준수 : DOM, CSS, Javascript, Canvas 리눅스에서 순수한 headless 구동이되며, CI시스템에 이상적이고, 또한 Amazon EC2, Heroku, Iron.io에서도 작동

아키텍쳐 #

Image

PhantomJS는 WIndows, OS X, Linux와 같은 x86 운영체제용 C++ 응용프로그램입니다. 웹페이지를 만들고 구성 하기 위해 오픈소스 웹 렌더링 엔진인 Webkit 을 사용합니다. 자바스크립트를 실행하기 위해 Webkit은 Javascript Core 라는 자바스크립트 엔진을 사용합니다. 보다 구체적으로, PhantomJS는 오픈 소스 멀티 플랫폼 C ++ 프레임워크 인 Qt (qt.io)를 사용하는 QtWebKit이라는 유명한 Webkit의 특정 변형을 사용합니다. Qt는 다양한 운영 체제 간의 차이를 표준화하고 이벤트 루프, 스레드, HTTP (s), 2-D 그래픽, 글꼴 처리, 파일 시스템, I / O 작업 등을 사용하는 네트워크 연결을 위한 통합 된 API 세트를 제공합니다. PhantomJS는 PhantomJS 기능을 사용하는 WebDriver Wire Protocol의 순수 JavaScript 구현 인 Ghost 드라이버 (github.com/detro/ghostdriver)를 내장하고 있기 때문에 Selenium과 함께 사용할 수 있습니다.

출처 링크 #

  1. tyle.io 블로그
0.0.1_20210630_7_v33