-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
네이버 이미지 셀리니움으로 추출 시
21.12.07 11:45 작성 조회수 148
0
while loop :
count += 1
#셀레니움 동적랜더링 스크롤내리기
#스크롤을 가장 아래로 내림
browser.execute_script("window.scrollTo(0,document.body.scrollHeight)")
# 페이지 로딩 대기
time.sleep(interval)
# 현재 문서 높이를 가져와서 저장
curr_height = browser.execute_script("return document.body.scrollHeight")
# if curr_height == prev_height :
# break
if count >= 2 :
loop = False
prev_height = curr_height
print("스크롤 완료")
#스크롤 완료 스크린샷 찍기
browser.get_screenshot_as_file("NaverIMG_Animal.png")
img_len = len(browser.find_elements_by_css_selector('div._listGrid > div._grid > div '))
for idx , img in enumerate(range(0 , img_len)) :
# img_list = browser.find_elements_by_css_selector('div._listGrid > div._grid > div ')
img_list = browser.find_elements_by_css_selector("div.photo_tile > div.tile_item")
# try :
# elem = WebDriverWait(browser,5).until(
# EC.presence_of_element_located((By.CSS_SELECTOR , "div._listGrid > div._grid > div"))
# )
# except TimeoutError as time :
# pass
if img_list[idx].find_element_by_css_selector("div.thumb > a.link_thumb > img._image") : # img._image 태그가 있는 경우
img_link = img_list[idx].find_element_by_css_selector("div.thumb > a.link_thumb > img._image").get_attribute("src")
print(idx + 1 ,"-" ,img_link)
print()
browser.quit()
지금 최초 데이터부터 10번째 데이터까지 이미지를 추출하는데 그 이상부터 no such element 에러가 납니다.네이버 에서 막은건가요?
답변을 작성해보세요.
0
좋은사람
지식공유자2021.12.07
안녕하세요.
대기 시간을 충분히 줘서 다음 이미지가 렌더링 될때까지 기다려 보고
엘리먼트가 또 있는지 확인해 보세요.
저도 소스코드 확인해 보겠습니다.
답변 1