프로젝트 소개
이 패키지는 Chrome/Chromium 브라우저를 프로그래밍 방식으로 제어하는 데 사용되는 인터페이스인 Chrome DevTools Protocol용 PHP 클라이언트를 제공합니다. Composer를 통해 jakubkulhan/chrome-devtools-protocol 패키지 이름으로 배포되며 MIT 라이선스에 따라 사용이 허가됩니다.
README에 명시된 핵심 기능:
- Launcher 클래스를 통해 Chrome 프로세스를 시작하며, Context 객체를 사용하여 작업 마감 시간(예: 30초 타임아웃)을 설정합니다.
- 시작된 인스턴스에서 탭을 열고 활성화한 후, 해당 탭에 대한 DevTools 클라이언트를 얻습니다.
- Page 도메인 활성화, URL 탐색, 로드 이벤트 대기 등 페이지 작업을 구동합니다.
- PDF 인쇄 및 구성 가능한 형식과 품질로 스크린샷 캡처를 포함한 페이지 출력을 생성합니다.
- 수명 주기를 명시적으로 관리합니다: DevTools 클라이언트를 닫고, 완료 시 브라우저 프로세스를 종료해야 합니다.
격리된 브라우저 컨텍스트:
이 라이브러리는 쿠키와 로컬 저장소가 공유되지 않는 시크릿 창과 유사한 헤드리스 Chrome 브라우저 컨텍스트를 지원합니다. 시크릿 창과 달리 여러 개의 격리된 브라우저 컨텍스트가 동시에 존재할 수 있습니다. 이러한 방식으로 생성된 세션은 탭의 devtools() 메서드가 반환하는 것과 동일한 DevtoolsClientInterface를 구현합니다.
기존 브라우저에 연결:
Instance는 호스트와 포트(예: localhost:9222)에서 직접 생성할 수 있어 이미 실행 중인 Chrome 브라우저에 클라이언트가 연결할 수 있습니다. 이 모드에서는 새 프로세스가 시작되지 않으므로 인스턴스를 닫을 필요가 없습니다.
README에는 컨텍스트 생성, 시작, 탭 처리, DevTools 호출 및 정리를 다루는 PHP 사용 예제가 포함되어 있습니다. 빌드 상태, 안정 버전 및 라이선스 배지는 각각 CircleCI, Packagist 및 라이선스 파일에 연결됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.