- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요! 강의 잘 듣고있습니다.
다름아니라 네이버지도 크롤링 검색어 입력구현 과정중 검색박스를 찾는 과정에서 생긴 질문인데요,
강의자분께서 하신대로 클래스 선택자(Input.input_serach)를 이용하면 잘 찾아지나,
똑같은 코드에 Id선택자로만 변경 할 시 검색어 입력이 제대로 구현되질 않습니다.
사실 클래스와 아이디가 모두 있을때, 아이디는 보통 고유한 값이기에 아이디를 쓰는게 좋다!라고 배워온 기억이 있어서 아이디로 시도했지 애초에 클래스로는 할 생각을 못했구요.... 크롬 개발자모드의 copy selcector 기능도 '#input_search1645599001993' 의 아이디로 선택하길래 오랫동안 고민하다가 안돼서 강의 들어서 클래스로 하면 되긴 하는구나,,,, 를 확인은 했습니다만
왜 ID선택자로는 안되고 클래스 선택자로 밖에 구현이 안되는지 궁금합니다! 아래는 강의듣고 복기한 코드에서 클래스 선택자를 아이디 선택자로만 바꾼 코드입니다.
감사합니다.
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
browser = webdriver.Chrome('./chromedriver')
browser.get('https://map.naver.com/v5/')
browser.implicitly_wait(10)
#browser.maximize_window()
# 검색창 입력
#search = browser.find_element_by_css_selector("input.input_search")
search = browser.find_element_by_css_selector("input#input_search1645599001993")
search.click() # 클릭 굳이 없어도 실행된다
time.sleep(1)
search.send_keys('강남역 맛집')
time.sleep(1)
search.send_keys(Keys.ENTER)
time.sleep(2)