[ 따라잡기 ] Crawlee and Playwright with Python - Playwright codegen
Selenium도 그랬듯이 Playwright도 원래는 크롤링 도구가 아닌 테스팅 도구다.
그래서 도큐먼트에 들어가보면 크롤링은 이렇게 하세요 하는 안내가 아닌 테스트는 이렇게 하세요 하는 안내가 나온다.
크롤링에 대한 안내는 따로 없는것 같아서 크롤링 예제 블로그들을 찾아봐야 하나 했는데 그럴 필요가 없을 정도로 Playwright는 codegen 이라는 강력한 기능을 가지고 있었다.
테스트용 브라우저를 제공하고 해당 브라우저에서 내가 행동하는 과정들을 Playwright 코드로 작성해준다.
codegen은 내가 오브젝트들의 xpath를 찾아서 클릭을 할지 값을 타이핑할 지 코딩하는 시간을 대폭 줄여줄 수 있는 기능이다.
여러 오브젝트들을 불러와서 for문으로 돌아가면서 작업을 수행하거나 하는 기능은 커스터마이징이 필요하다.
도큐먼트의 다음 페이지에서 codegen에 대해 확인할 수 있다.
Generating tests | Playwright Python
Introduction
playwright.dev
codegen 기능을 활용하는 과정에 대해 정리 해보겠다.
1. Playwright 설치
Setting up | Crawlee for Python · Fast, reliable Python web crawlers.
To run Crawlee on your computer, ensure you meet the following requirements:
crawlee.dev
아나콘다나 pip로 파이썬 환경을 갖추고 있다고 생각한다.
파이썬 버전은 3.9 이상을 요구한다.
해당 환경을 activate해서 다음 코드로 Playwright를 설치한다.
pip install playwright
Selenium에서 브라우저 버전에 맞는 크롬 드라이버를 다운로드 받아서 관리해야 했듯이 브라우저 엔진을 설치해야 한다.
Playwright는 다음 명령어를 실행하기만 하면 된다.
playwright install
2. codegen 실행 및 활용
codegen test generator를 실행한다.
playwright codegen {원하는 시작 주소}
실행하고 나면 다음과 같이 2개의 창이 열린다.

왼쪽의 크롬 브라우저창 상단과 오른쪽의 코드 창 좌상단에 Record 불이 들어와있는데 이 상태에서 브라우저에 어떤 동작을 하면 그에 따른 코드가 오른쪽 코드 창에 작성된다.

3. Codegen이 만들어준 코드 활용
이제 오른쪽의 코드 창에 작성된 코드를 복사해서 내 스크립트에 붙여넣고 실행하면 방금 test generator에서 내가 수행했던 작업을 자동으로 수행한다.
너무 편해서 웹 개발자 녀석들은 이런걸 자기들끼리만 쓰고있었나 싶다.
많은 크롤링이 필요한 데이터 관련 실무자들이 활용할 수 있으면 좋겠다.