크롤링시 팝업창 제어 관련

크롤링을 하다보면 팝업창을 제어해야 하는 경우가 많다. 이러한 팝업창의 ‘확인’ 버튼을 눌러주지 않으면 더이상 진행이 되지 않아 크롤링에 문제가 생긴다.

1. 일반적인 팝업창 일반적인 팝업창은 아래 예시 코드와 같이 팝업창 발생시 핸들러가 동작해 제어토록 한다.

with sync_playwright() as playwright:
    browser = playwright.chromium.launch()
    page = context.new_page()

    # dialog 이벤트 핸들러 등록
    def on_dialog(dialog):
        print(f'[+] 팝업 내용 : {dialog.message}\n')
        dialog.accept()

    page.on('dialog', on_dialog)

    page.goto('https://google.com')

2. 모달창 모달창의 경우 현재 웹페이지 창의 크기에 따라 클릭이 안되는 경우가 있다. 이럴 경우 직접 자바스크립트를 실행시켜 ‘확인’ 버튼을 눌러준다.

# 모달 확인 버튼 클릭
page.evaluate("document.getElementById('모달창 ID').click()")

즐거운 크롤링~!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다