커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
리뷰수가 보이지 않습니다 뭐가 문제일까요
[왕초보] 칼퇴를 부르는 파이썬 업무 자동화 v0
3주차
북마크
장*혜
댓글
4
추천
0
조회수
24
조회수
24
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.



아무리 봐도 모든 코드가 똑같은데 리뷰수만 공백으로 나옵니다





from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.chrome.options import Options

import time


from openpyxl import load_workbook

from openpyxl.drawing.image import Image

import requests

from io import BytesIO


chrome_options = Options()

chrome_options.add_experimental_option("detach", True)

chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"])

driver = webdriver.Chrome(options=chrome_options)


# 웹 사이트 열기

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

time.sleep(2)


driver.find_element(By.CSS_SELECTOR,".service_icon.type_shopping").click()

time.sleep(2)

new_window= driver.window_handles[1]

driver.switch_to.window(new_window)

driver.maximize_window()


search= driver.find_element(By.CSS_SELECTOR,"input._searchInput_search_text_3CUDs")

search.click()


search.send_keys("그래놀라")

search.send_keys(Keys.ENTER)





before_h= driver.execute_script("return window.scrollY")

while True:

  driver.find_element(By.CSS_SELECTOR,"body").send_keys(Keys.END)

  time.sleep(1)

  after_h=driver.execute_script("return window.scrollY")

  if after_h==before_h:

    break

  before_h=after_h



items=driver.find_elements(By.CSS_SELECTOR,".product_item__MDtDF")


for item in items:

  names=item.find_elements(By.CSS_SELECTOR,".product_title__Mmw2K")

  name= names[0].text if names else "이름없음"


  prices= item.find_elements(By.CSS_SELECTOR,".price_num__S2p_v")

  price= prices[0].text if prices else "가격없음"


  links= item.find_elements(By.CSS_SELECTOR,".product_title__Mmw2K>a")

  link= links[0].text if names else "링크없음"


  review_totals= item.find_elements(By.CSS_SELECTOR,".product_num__fafe5")

  review_total = review_totals[0].text if review_totals else "리뷰없음"


  images= item.find_elements(By.CSS_SELECTOR,".thumbnail_thumb__Bxb6Z > imag")

  image= images[0].get_attribute('src') if images else "이미지 없음"

  

  product_info= {

    '상품명': name,

    '가격':price,

    '링크':link,

    '총 리뷰수':review_total,

    '이미지': image,

  }


  print(product_info)

driver.quit()





{'상품명': '켈로그 프로틴그래놀라 다크초코볼 450g', '가격': '5,150원', '링크': '켈로그 프로틴그래놀라 다크초코볼 450g', '총 리

뷰수': '', '이미지': '이미지 없음'}

{'상품명': '3+1 원데이모어 퍼펙트 뮤즐리 바이올릿 외 8종 그래놀라 오트밀 통곡물 귀리 시리얼', '가격': '11,900원', '링크': '3+1 원데이모어 퍼펙트 뮤즐리 바이올릿 외 8종 그래놀라 오트밀 통곡물 귀리 시리얼', '총 리뷰수': '', '이미지': '이미지 없음'}     

{'상품명': '발보아 라이트 그래놀라 시리얼 600g 통곡물 카카오 흑임자 3팩', '가격': '20,000원', '링크': '발보아 라이트 그래놀라 

시리얼 600g 통곡물 카카오 흑임자 3팩', '총 리뷰수': '', '이미지': '이미지 없음'}

{'상품명': '싸리재 국산 귀리 씨리얼 [ 수제 그래놀라 3종 ] 오트밀 그레놀라 통곡물 시리얼 뮤즐리', '가격': '7,200원', '링크': '싸리재 국산 귀리 씨리얼 [ 수제 그래놀라 3종 ] 오트밀 그레놀라 통곡물 시리얼 뮤즐리', '총 리뷰수': '', '이미지': '이미지 없음'}  

{'상품명': '호두얌 수제 그래놀라 550g - 아침식사대용 시리얼 뮤즐리', '가격': '14,900원', '링크': '호두얌 수제 그래놀라 550g - 

아침식사대용 시리얼 뮤즐리', '총 리뷰수': '', '이미지': '이미지 없음'}




2.한가지 더 여쭤보고 싶습니다.

위 수식에서

images= item.find_elements(By.CSS_SELECTOR,".thumbnail_thumb__Bxb6Z > img")

  image= images[0].get_attribute('src') if images else "이미지 없음"


여기에서 왜 >img 라고 쓴 것인지 알고 싶습니다. 제가 직접 코드를 보았을때는 a 타켓 이라고 되어 있어서 >a 라고 써야하는게 아닌가?라고 생각했습니다.

a 타겟이라고 적혀있고 img라는 단어는 하나도 없는데 어째서 >img라고 쓰게 되는 것인지 궁금합니다 ㅜㅜ




3.강사님께서 코드를 완전 자유자재로 쓰시는 데 모든 코드를 외워서 써야하는 것일까요?

여러번 반복하다보면 익숙해지는 것일까요? 아니면 ai기능을 이용해서 코드생성을 해나가는 것일까요?

일반 업무에서 활용을 할때 필요한 코드를 어떻게 써내려가는 게 좋을지 알려주시면 감사하겠습니다 감사합니다:)

취소
 공유
취소
댓글 0
댓글 알림
나의얼굴