playwright 인스펙터 실행하기
이번 절의 실습 목표는 쇼핑 트렌드 보고서를 작성하는 것입니다. 먼저, 트렌드 분석을 위한 데이터를 수집하기 위해 네이버플러스 스토어(https://shopping.naver.com/ns/home)에 접속하는 과정을 자동화하는 코드를 작성합니다. 다음 순서로 진행합니다.
1. 객체 playwright, Browser, Page를 생성하는 함수 run_playwright()를 실행합니다.
2. Page 객체에 URL을 전달하여 네이버플러스 스토어에 접속합니다.
3. playwright 인스펙터를 실행해 웹 브라우저의 동작을 일시 중지합니다.
비주얼 스튜디오 코드에서 새로운 파일을 생성하고, 파일명을 'step_1_2.py'로 지정하세요. 그리고 나서 다음 코드를 입력한 뒤 실헹 아이콘을 클릭하여 실행하세요.
from playwright.sync_api import Browser, Page, Playwright, sync_playwright # 01
def run_playwright(slow_mo: float = None # 03
) -> tuple[Playwright, Browser, Page]: # 04
play: Playwright = sync_playwright().start() # Playwright 객체 생성 # 05
browser: Browser = play.chromium.launch( # Browser 객체 생성
args=["--start-maximized"], # 웹 브라우저 최대화 # 07
headless=False, # 헤드리스 모드 사용 여부 # 08
slow_mo=slow_mo, # 자동화 처리 지연 시간
)
page: Page = browser.new_page(no_viewport=True) # Page 객체 # 11
page.add_locator_handler(
page.get_by_role("button", name="하루 동안 보자 않기"), # 버튼을 찾으면
handler=lambda loc: loc.click(), # 클릭
times=1, # 총 한 번만 실헹
)
return play, browser, page
if __name__ == "__main__":
play, browser, page = run_playwright()
page.goto("https://shopping.naver.com/ns/home") # 21
page.pause() # 인스펙터 실행 # 22
browser.close() # Browser 객체 삭제
play.stop() # Playwright 객체 삭제
01 웹 브라우저의 동작을 자동화하기 위해 playwright 패키지의 sync_playwright 클래스를 불러옵니다.
03~04 세 객체의 Playwright, Browser, Page를 반환하는 함수 run_playwright()를 정의합니다. 매개변수 slow_mo는 처리 지연을밀리세컨드 단위로 설정합니다.
05 함수 sync_playwright().start()를 사용해서 크로미움 브라우저를 생성합니다.
07 함수 chromium.launch()의 매개변수 args에 브라우저 크기를 최대화하는 옵션을 지정합니다.
08 매개변수 headless에 False를 전달하여 브라우저 GUI 모드로 실행합니다.
11 함수 new_page()의 매개변수로 no_viewport=True를 전달하여 화면의 크기를 브라우저 맞춥니다.
21 함수 goto()를 사용해 브라우저에서 URL로 이동합니다.
22 인스팩터를 실행하기 위해 코드 실행을 일시정지합니다.
크로미움 웹 브라우저를 통해 네이버플러스 스토어가 열라고, 인스펙션가 생성됩니다.

'프로그래밍 언어 > Python' 카테고리의 다른 글
| 상품 이미지 캡처하기 (0) | 2026.02.05 |
|---|---|
| 쇼핑 트렌드 정보 수집하기 (0) | 2026.02.02 |
| 웹상의 동작 자동화하기 (1) | 2026.01.24 |
| 번역 기능이 추가된 문자 인식 웹 앱 만들기 (0) | 2026.01.21 |
| 이미지에 번역된 문자 출력하기 (0) | 2026.01.18 |