파이썬 셀레니움 웹 크롤링에서 스크롤바 내리기 질문입니다.

조회수 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 코드가 뜨며 다음으로 진행이 안됩니다.

답변 부탁드립니다.

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)