24.04.17 23:58 작성
·
326
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을 활용해 특정 요소가 나타날 때까지 대기할 수 있습니다.
팝업이나 광고 등 동적 요소로 인해 예상치 못한 문제가 발생하는 경우가 많으니, 이러한 점들을 고려하여 크롤링 코드를 작성해 보시기 바랍니다.