Seleniumでスクロールするさまざまな方法

힘센캥거루
2023년 5월 26일(수정됨)
6
python

ググると、Seleniumでスクロールする方法を探している記事がたくさんあった。

私もインスタグラムに投稿したが、他の記事の流入のために別途記事として書いておく。

さらに必要なスクロール方法があれば、追加してみる。

一般的にSeleniumでのスクロールはJavaScriptを使って実装する。

1. 目的の高さYまでスクロール

driver.execute_script("window.scrollTo(0, Y)")

2. ドキュメントの終わりまで1回スクロール

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

3. ドキュメントの一番終わりまでスクロール

SCROLL_PAUSE_TIME = 0.5

# 現在のスクロールの高さを取得
last_height = driver.execute_script("return document.body.scrollHeight")

while True:
    # 下までスクロール
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

    # ページの読み込みを待つ
    time.sleep(SCROLL_PAUSE_TIME)

    # 新しいスクロールの高さを計算して前の高さと比較
    new_height = driver.execute_script("return document.body.scrollHeight")
    if new_height == last_height:
        break
    last_height = new_height

4. Page Downキーを利用したスクロール

driver.find_element(By.XPATH, '/html/body').send_keys(Keys.PAGE_DOWN)

5. 目的の要素が中央に来るようにスクロール

driver.execute_script("arguments[0].scrollIntoView({block : 'center'});", 目的の要素)

6. 追加することがあれば

希望するスクロール方式があればコメントで教えてください。

一度実装してみます。

댓글을 불러오는 중...