diff --git a/lotto-runner/lotto_auto_buy.py b/lotto-runner/lotto_auto_buy.py index 205c2c7..120e683 100644 --- a/lotto-runner/lotto_auto_buy.py +++ b/lotto-runner/lotto_auto_buy.py @@ -228,6 +228,10 @@ def buy_lotto(driver, game_count=5): except Exception: return False + # 첫 상호작용 전에 레이어 알림이 떠 있으면 먼저 닫기 + if close_layer_alert_if_present(): + logger.info("초기 popupLayerAlert 감지 — 닫기 처리 완료") + # 모든 레이어 팝업을 JS로 직접 숨기기 (z-index 오버레이 완전 제거) driver.execute_script(""" var popups = document.querySelectorAll( @@ -239,9 +243,15 @@ def buy_lotto(driver, game_count=5): logger.info("팝업 레이어 숨김 처리 완료") # "자동" 탭 선택 — onclick 함수(selectWayTab)를 직접 호출 - driver.execute_script("selectWayTab(1);") - time.sleep(1) - time.sleep(1) + # (간헐적으로 popupLayerAlert가 클릭을 가로채므로 전/후로 닫기 처리 + 1회 재시도) + for attempt in range(2): + close_layer_alert_if_present(timeout_s=0.5) + driver.execute_script("selectWayTab(1);") + time.sleep(1) + if not close_layer_alert_if_present(timeout_s=0.5): + break + logger.info("자동 탭 선택 중 popupLayerAlert 재발 — 닫기 후 재시도") + time.sleep(0.5) # 게임 수 설정 (드롭다운에서 선택) from selenium.webdriver.support.ui import Select