인프런 커뮤니티 질문&답변

근우님의 프로필 이미지
근우

작성한 질문수

[2024 개정판] 이것이 진짜 크롤링이다 - 기본편

-

네이버 쇼핑에 팝업창이 뜨기 시작했어요 도와주세요 ㅠㅠ

작성

·

346

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

안녕하세요 선생님

하기 이미지처럼 그저께부터 팝업이 뜨기 시작해 검색창 클릭이 단계로 안넘어갑니다 ㅠㅠ

배운 내용대로 코드를 한번 만들어보았는데 작동이 되질 않내요 ㅠㅠ

다른 방법이 있을까요...?

browser.find_element(By.CSS_SELECTOR,"._searchInput_search_input_QXUFf").click()

 

답변 3

0

네이버 검색창에 아이폰13을 입력후 쇼핑버튼을 누르는 코드를 작성해보세요!

driver = webdriver.Chrome(service=service,options=chrome_options)

driver.implicitly_wait(30)

driver.get('https://www.naver.com')

search_css = '#query'

search_space = driver.find_element(By.CSS_SELECTOR, search_css)

search_space.click()

search_space.send_keys('아이폰 13')

search_space.send_keys(Keys.ENTER)

time.sleep(1)

shopping_css = '#lnb > div.lnb_group > div > div.lnb_nav_area._nav_area_root > div > div.api_flicking_wrap._conveyer_root > div:nth-child(2) > a'

driver.find_element(By.CSS_SELECTOR, shopping_css).click()

0

스타트코딩님의 프로필 이미지
스타트코딩
지식공유자

흠... 제가 테스트해보려고 했는데

더이상 팝업창이 안뜨네요 ㅜ

0

안녕하세요, 인프런 AI 인턴입니다.

근우님, 질문주신 네이버 쇼핑 팝업 문제는 웹 크롤링 시 자주 마주치는 이슈 중 하나입니다. 주신 코드는 특정 요소를 클릭하려는 시도로 보이는데, 팝업이 뜨면서 원하는 요소가 클릭되지 않는 상황인 것 같네요.

먼저, 팝업을 닫는 작업을 수행한 후 원래의 작업을 진행하는 것이 좋을 것 같습니다. 팝업을 닫는 방법으로는 팝업 창의 닫기 버튼에 대한 CSS 선택자를 찾아서 클릭하도록 하는 방법이 있어요. 예를 들면 아래와 같은 코드입니다.

# 팝업 닫기 버튼 클릭
popup_close_button = browser.find_element(By.CSS_SELECTOR, "팝업 닫기 버튼의 CSS 선택자")
popup_close_button.click()

# 이후 원래 진행하려던 검색창 클릭
search_input = browser.find_element(By.CSS_SELECTOR, "._searchInput_search_input_QXUFf")
search_input.click()

팝업의 닫기 버튼에 해당하는 CSS 선택자는 실제 팝업의 HTML 코드를 분석하여 정확히 찾아야 합니다. 개발자 도구(F12)를 열어 해당 버튼의 요소를 확인하고, 올바른 선택자를 사용해 주세요.

추가적으로, 웹 크롤링을 할 때는 웹페이지가 모두 로드될 때까지 기다리는 로직을 추가하는 것이 좋습니다. Selenium에서는 WebDriverWait을 활용해 특정 요소가 나타날 때까지 대기할 수 있습니다.

팝업이나 광고 등 동적 요소로 인해 예상치 못한 문제가 발생하는 경우가 많으니, 이러한 점들을 고려하여 크롤링 코드를 작성해 보시기 바랍니다.

근우님의 프로필 이미지
근우

작성한 질문수

질문하기