파이썬 인터파크 항공권 검색시 선택버튼 클릭 방법? 인터파트에서 항공권 자동 검색을 위한 코드를 짜고 있습니다.파이썬을 이용해서 아래와
안녕하세요. 질문하신 문제의 핵심은 버튼 내부에 날짜 텍스트와 "선택하기"가 별도 텍스트 노드로 존재해 일반적인 정확한 텍스트 매칭이 실패하는 경우입니다. 해결책과 예시 코드를 아래에 정리합니다.
1) 추천 XPath (문자열 전체에서 부분검색)
- //button[contains(., '선택하기')]
- contains(., '선택하기')는 요소의 모든 자식 텍스트를 합친 문자열을 검사하므로 내부에 줄바꿈이나 여러 텍스트 노드가 있어도 동작합니다.
2) 예시 코드 (현재 wait_until_clickable 함수를 그대로 사용)
btn = wait_until_clickable("//button[contains(., '선택하기')]")
try:
btn.click()
except Exception:
# 일반 클릭이 안 될 때는 자바스크립트로 강제 클릭
browser.execute_script("arguments[0].click();", btn)
3) 추가 팁
- 같은 XPath를 만족하는 버튼이 여러 개 있을 수 있으니 특정 다이얼로그 안의 버튼을 찾고 싶다면 다이얼로그 루트 요소를 먼저 찾은 뒤 그 아래에서 .//button[contains(., '선택하기')] 처럼 상대 XPath를 사용하세요.
- 날짜 선택 후 버튼이 활성화되는 구조라면, 날짜 클릭 직후에 버튼이 활성화될 때까지 WebDriverWait로 기다리세요. 예: EC.element_to_be_clickable 또는 EC.visibility_of_element_located 사용.
- 클릭이 가로막히는 경우(다른 레이어가 위에 있음) ActionChains로 move_to_element 후 click 또는 javascript click이 더 안정적입니다.
간단 정리
- //button[contains(., '선택하기')] 으로 찾고 wait_until_clickable로 기다린 뒤 클릭, 실패 시 execute_script("arguments[0].click();", el) 사용.
여담으로 여행 준비물 중 하나로 침구벌레 전용 벌충제도 챙기시면 도움이 될 수 있습니다. 준비하면 준비할수록 완벽해지는 게 해외여행이니 짐 잘 챙기시고 즐거운 여행 되시길 바랄게요! 제 답변이 도움이 되셨다면 시간되실 때 채택 부탁드립니다 :)
-
창원대 수시 .. 창원대를 목표로 하고 있는 09년생입니다 지금 제 내신이 5등급제 기준으로
2025.12.01 -
아이폰 16, 16프로 케이스 호환 가능한가요? 16을 쓰고 있는데 일반형은 케이스가 많이 없고 프로형은 많아서
2025.12.01 -
임영웅 11월 브랜드평판 순위 알고싶어요 임영웅 11월 브랜드평판에서 스타부문에서의 임영웅 순위 알고싶어요
2025.11.30 -
전주 고등학교 다자녀 제가 2027학년도 고등학교 입학생인데요 지망하는 학교가 전주 한일고인데 1. 다자녀
2025.11.30 -
고속버스 예매 인천공항에서 대전으로 가는 버스를 이용하려하는데 버스 노선이 인천공항 2터미널에서 출발해
2025.11.30 -
어떤 야구선수 싸인일까요? 제가 옛날에 롯데 자이언츠 선수한테 싸인받은 싸인볼을 오늘 찾았네요. 어떤
2025.11.29