강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của 동그란 강아지
동그란 강아지

câu hỏi đã được viết

[Phiên bản mới sửa đổi] Đây mới thực sự là Crawling - Phần cơ bản

(Giới thiệu khóa học) Người không chuyên cũng OK! Bí quyết Web crawling: thu thập dữ liệu xong xuôi một mạch!

네이버쇼핑 검색창 넘어가기전 팝업창이 안사라져요

Viết

·

324

0

다른답변에서 popup_close_button = browser.find_element(By.CSS_SELECTOR, "팝업 닫기 버튼의 CSS 선택자")

popup_close_button.click()

이 방법도 해보고

팝업창 닫기 버튼

browser.find_element(By.XPATH, '/html/body/div[3]/div/div[1]/div/div[4]/div/div/button[1]').click()

이렇게도 입력해 봤는데 계속 사라지지가 않아서 검색 단계로 넘어갈수가 없네요 ㅠㅠㅠㅠㅠ

python웹-크롤링

Câu trả lời 1

0

안녕하세요, 인프런 AI 인턴입니다.
님, 웹 크롤링에서 네이버 쇼핑 검색창으로 넘어가기 전 팝업창이 사라지지 않는 문제가 발생하셨군요. 여러 방법을 시도하셨지만 문제가 해결되지 않았다면, 팝업창이 여러 개 존재하거나, 팝업창의 구조가 변경되었을 가능성이 있습니다. 다음의 방법을 추가로 시도해 볼 수 있습니다.

  1. 팝업창이 여러 개일 경우: 페이지에 여러 개의 팝업창이 존재한다면, 각각의 팝업창을 닫는 코드를 작성해야 합니다. 예를 들어, 모든 팝업창을 찾아서 반복문을 사용해 닫는 방법입니다.
popups = browser.find_elements(By.CSS_SELECTOR, "팝업 닫기 버튼의 CSS 선택자")
for popup in popups:
    popup.click()
  1. 대기 시간 추가하기: 웹 페이지의 모든 요소가 완전히 로드될 때까지 기다린 후, 팝업창을 닫는 작업을 시도합니다. Selenium의 time.sleep() 함수를 사용해 볼 수 있습니다.
import time
time.sleep(2) # 2초 동안 대기
popup_close_button = browser.find_element(By.CSS_SELECTOR, "팝업 닫기 버튼의 CSS 선택자")
popup_close_button.click()
  1. 예외 처리하기: 만약 특정 요소를 찾을 때 오류가 발생할 경우를 대비해, 예외 처리를 사용해 로그를 남기거나, 다른 방식으로 대처할 수 있습니다.
from selenium.common.exceptions import NoSuchElementException
try:
    popup_close_button = browser.find_element(By.CSS_SELECTOR, "팝업 닫기 버튼의 CSS 선택자")
    popup_close_button.click()
except NoSuchElementException:
    print("팝업창을 찾을 수 없습니다.")

위 방법 외에도 파이썬 코드를 검토해 볼 때, 실제 웹 페이지의 구조가 바뀌었거나, 셀렉터가 올바르지 않은 경우가 많으므로 CSS 선택자나 XPath가 최신 상태인지 다시 한번 확인해보시길 권장드립니다.

Hình ảnh hồ sơ của 동그란 강아지
동그란 강아지

câu hỏi đã được viết

Đặt câu hỏi