✨ feat: 레이어 알림 처리 개선 및 자동 탭 선택 로직 수정
- 초기 상호작용 전에 레이어 알림이 존재할 경우 자동으로 닫는 기능 추가 - 자동 탭 선택 시 레이어 알림이 재발할 경우 재시도 로직 구현 - 코드 가독성을 높이기 위해 주석 추가
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user