파이썬 셀레니움 웹 크롤링에서 스크롤바 내리기 질문입니다.
조회수 1106회
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
import time
driver = webdriver.Chrome()
url = 'https://pubmed.ncbi.nlm.nih.gov/'
driver.get(url)
driver.find_element_by_xpath('/html/body/div[2]/main/div[1]/div/form/div/div[1]/div/span/input').send_keys('human AND well-being AND University')
driver.find_element_by_class_name('search-btn').click()
last_height = driver.execute_script("return document.body.scrollHeight")
while True:
new_height = driver.execute_script("return document.body.scrollHeight")
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
driver.find_element_by_class_name('load-button.next-page').click()
time.sleep(1)
if new_height == last_height:
try:
driver.execute_script("window.scrollTo(document.body.scrollHeight, 0);")
except:
break
last_height = new_height
제가 구글링해가며 돌려본 결과 검색창에 입력 후 다음페이지로 넘어가서 스크롤바가 내려가고, 다음페이지로 넘어가면서 또 스크롤바가 내려가고 그렇게 약 40페이지정도 넘어간 후 더이상의 문헌이 없어서 넘어갈 페이지가 없고 내려갈 스크롤바가 없을때는 가장 상단으로 올리고 싶습니다.
그런데, 더이상의 페이지가 없으면 그때부터는 driver.find_element_by_class_name('load-button.next-page').click()
에서 error 코드가 뜨며 다음으로 진행이 안됩니다.
답변 부탁드립니다.
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
댓글 입력