MAC

Playwright 설치하고 사용하기 w/ Python

아람2 2025. 2. 4. 16:41
반응형

 

Playwright 는 Microsoft 에서 개발한 오픈 소스 자동화 도구이다 

Selenium 과 유사하지만, Chromium, Firefox, WebKit 등 여러 브라우저 엔진을 지원하며 

보다 빠르고 안정적인 자동화를 제공하고, 모바일 환경을 시뮬레이션할 수 있다 

Cypress 는 자체 문법과 실행 환경을 제공하지만, Playwright 는 기존 언어의 문법을 지원한다 

NodeJS, JavaScript, Python, Java, .NET 등 다양한 언어로 사용할 수 있다 

Playwright 는 비동기 기능도 지원한다, 로컬에서 비동기 API 를 사용하는 것은 무료지만

Playwright Testing 같은 클라우드 기능은 유료로 제공된다 

Playwright 설치하기 

Python 으로 Playwright 를 설치한다 

공식 Playwright Pytest Plugin 을 설치하려고 하다가 간단하게 써보고 싶어서 

iTerm 을 열고 Playwright 와 beautifulsoup4 를 설치했다 

pip install playwright beautifulsoup4

 

Playwright 의 브라우저 바이너리를 설치한다 

playwright install

Playwright 사용하기 

다 설치되었으면, VS Code 에서 아래 Test Code 를 돌려서 확인해 본다 

from playwright.sync_api import sync_playwright

# Playwright 시작
with sync_playwright() as p:

    # 브라우저(Chromium) 열기
    # headless=False는 브라우저가 눈에 보이도록 설정
    browser = p.chromium.launch(headless=False) 
    page = browser.new_page()
    
    # 웹 페이지 열기
    page.goto('https://www.google.com')
    
    # 페이지 제목 출력
    print("Page Title: ", page.title())
    
    # 브라우저 닫기
    browser.close()

 

검색어를 입력하고, 뉴스 제목만 크롤링하는 코드도 작성해 봤다 

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True)
    page = browser.new_page()

    page.goto('http://www.naver.com')

    search_box = page.locator('#query')
    search_box.fill("로봇")
    search_box.press('Enter')

    # 검색 결과 화면이 출력될 때까지 대기 
    page.wait_for_load_state('networkidle')

    # 검색 결과에서 뉴스 제목들 추출 
    results = page.locator('a.news_tit').all()
    
    # 각 뉴스 제목 출력
    for result in results:
        print(result.text_content())
    
    # 브라우저 종료
    browser.close()

 

Playwright Tip 

코드를 어떻게 시작해야 할 지 감이 안 잡힐 때 Record 기능을 이용할 수 있다 

Terminal 에 아래 명령어를 입력하면 브라우저가 열리면서 내가 입력한 URL 로 이동하고,

브라우저에서 뚝딱뚝딱하면 해당 코드가 작성된다 

생각만큼 엄청 잘 되지는 않는다, 그냥 참고용!

playwright codegen www.naver.com

 


 

어디선가 저장했던 사진

반응형

'MAC' 카테고리의 다른 글

[MAC] iTerms 에서 SSH 접속 쉽게 설정하기  (0) 2024.12.22
[MAC] Jungle Github Push  (1) 2024.10.10
[MAC] VScode 로 Remote SSH 접속하기  (0) 2024.10.04
[MAC] VScode 에서 변수 한꺼번에 바꾸기  (0) 2024.09.24
[MAC] GIT feat. MAC  (2) 2024.09.09