μλνλ‘ λ€μ΄λ² μλ λ‘κ·ΈμΈμ ꡬνν΄λ³΄κ³ , λ€μ΄λ² μΌνμ ν¬λ‘€λ§ν΄λ³ΌκΉ? νλ€. κ·Έλ κ² λ€μ΄λ² μΌν νμ΄μ§λ₯Ό λΆμνλ μ€ λ€μ΄λ² μΌνμ λ¨μΌ νμ΄μ§μμ μ€ν¬λ‘€μ λ΄λ¦¬λ©΄ μνμ΄ κ³μν΄μ 보μ΄λ ννλ₯Ό νκ³ μλ κ²μ μ μ μμλ€. "μ€ν¬λ‘€λ μλνλ‘ ν΄λ³ΌκΉ? π€" μκ°μ΄ λ€μκΈ°μ μ€μ΅νκ² λμλ€.
driver.get("https://shopping.naver.com/home") time.sleep(2) search= driver.find_element(By.CSS_SELECTOR, ".κ²μμ°½ ν΄λμ€λͺ ") search.click() search.send_keys('μμ΄ν° 14') search.send_keys(Keys.ENTER)
driver.get("https://shopping.naver.com/home")
μ VSCμμ μ€ν ν νμ΄μ§κ° μΌμ§ λ, μμ νμ΄μ§λ₯Ό λ€μ΄λ² μΌνμΌλ‘ μ€μ νλ€.
π€ μλλ λ€μ΄λ² λ©μΈ νμ΄μ§ > λ€μ΄λ² μΌν νμ΄μ§ μμΌλ‘ μ΄λνλ κ²μΌλ‘ νμ§λ§ μ΄ μ€μ΅μ λͺ©μ μ λ€μ΄λ² μΌνμ΄κΈ° λλ¬Έμ μμ νμ΄μ§λ‘ νλ€.
time.sleep(2)
νμ΄μ§κ° μ€νλκΈ°λ μ μ κ²μμ΄ μ
λ ₯μ΄ μνλλ©΄ μλκΈ° λλ¬Έμ μλμ μΌλ‘ 2μ΄ ν
μ λμλ€.
search= driver.find_element(By.CSS_SELECTOR, ".κ²μμ°½ ν΄λμ€λͺ
")
λ μλ μ¬μ§κ³Ό κ°μ κ²μμ΄λ₯Ό μ
λ ₯νλ 곡κ°μ μ νν΄μ€ κ²μ΄λ€.
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
μ€ν¬λ‘€ μ κ³Ό νμ λμ΄λ₯Ό before_h
, after_h
λ³μλ‘ μ€μ ν΄μ£Όμλ€. μ΄λ, .execute_script
λ μλ°μ€ν¬λ¦½νΈμ λ¬Έλ²μ μ¬μ©ν μ μκ² ν΄μ£Όλ λͺ
λ Ήμ΄λ€.
μ°μ whileλ¬Έμ 무ν루νκ° λ μ μλλ‘ true
λ‘ μ€μ ν΄μ£Όμκ³ , λ€μ΄λ² μΌν νμ΄μ§μ body
λΆλΆμμ μ€ν¬λ‘€μ μ μ΄ν κ²μ΄λκΉ CSS μ νμλ‘ bodyλ₯Ό μ νν΄μ£Όμλ€.
π€ 무ν μ€ν¬λ‘€μ ꡬνν λ, λΉ λ₯΄κ² μ€ν¬λ‘€μ λ΄λ €μ μ λ³΄κ° μ λλ‘ λΆλ €μ€μ§ μμΌλ©΄ μ΄λ‘νμ§? λΌλ μκ°μ νλ€. κ·Έλμ μ€ν¬λ‘€μ ν λ μ λ³΄κ° λ‘λ© κ±Έλ¦¬μ§ μλλ‘ μκ°μ λ κ²
μ μκ°νκ³ time.sleepμΌλ‘ μκ°μ ν
μ λμλ€.
if after_h==before_h:
μ ifλ¬Έμ ν΅νμ¬ μ€ν¬λ‘€ μ κ³Ό νμ λμ΄κ° κ°λ€λ©΄ ifλ¬Έμ λΉ μ Έλμ, before_h=after_h
νμ λμ΄λ₯Ό μ μ λμ΄μ λμ
ν΄μ£Όλ©΄ λ€μ whileλ¬Έμ λλλ‘ λ¬΄ν 루νλ₯Ό λ§λ€μ΄μ 무ν μ€ν¬λ‘€μ ꡬννλ€.