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

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

ググると、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. 追加することがあれば

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

一度実装してみます。

관련 글

学校業務の自動化 - AIを利用した生活記録簿チェック 教科別・特別記述編
学校業務の自動化 - AIを利用した生活記録簿チェック 教科別・特別記述編
学校で最も意味がなく、きつくて退屈な業務を一つ挙げろと言われたら、自分は生活記録簿(生徒指導要録)チェックを選ぶだろう。中学校では生活記録簿がそれほど重要ではないが、高等学校では入試と関係しているため非常に重要である。問題は、このような生活記録簿の点検で探すものが、せいぜい単純な誤字脱字、記載禁止用...
ゼロから作りながら学ぶ LLM 第7章 読書レビューとチャレンジの感想
ゼロから作りながら学ぶ LLM 第7章 読書レビューとチャレンジの感想
第7章の内容は、指示に従うように微調整するプロセスだ。ある質問に対して、期待する応答を返すようにすること。やはり必要なのはデータである。1. 指示微調整の手順ここでの要点は、質問と応答のデータセットを用意し、入力-出力のペアとして学習させること。これをプロンプトスタイルと呼ぶ。その他は以前のプロセス...
ゼロから作りながら学ぶ LLM 第6章 読書レビュー
ゼロから作りながら学ぶ LLM 第6章 読書レビュー
第6章は、分類のためのファインチューニングについてである。例として出てくるのは、スパム分類器の作成。スパム分類器は、あるメールなどがスパムかスパムでないかを分類するものなので、出力結果は 0 や 1 のような値になる必要がある。1. ファインチューニングの手順ファインチューニングのプロセスは、モデル...
ゼロから作りながら学ぶ LLM 第5章 読書レビュー
ゼロから作りながら学ぶ LLM 第5章 読書レビュー
今日は12月14日だ。実はチャレンジ期間はすでに2週間も過ぎてしまったが、だからといってレビューを書くのをあきらめることはできなかった。こうして残しておくTILが、あとで自分の血となり肉となるからだ。コードそのものよりも、その意味に集中して書いてみようと思う。1. モデルの損失計算GPTモデルを作っ...
ゼロから作りながら学ぶ LLM 第4章 読書レビュー
ゼロから作りながら学ぶ LLM 第4章 読書レビュー
今日は11月26日なので、毎日1章ずつ読み切ればチャレンジ成功だ。長男と次男の妨害の中で、それが可能かどうかは分からない。1. ダミー・トランスフォーマーGPTモデルを作りながら、PyTorchからトランスフォーマーのダミーブロックを持ってくる箇所を見た。調べてみると、PyTorch の nn の中...
ゼロから作りながら学ぶLLM第3章読書感想
ゼロから作りながら学ぶLLM第3章読書感想
MacBookに大量の水をこぼしてパニックになり、3〜4日無駄にした。今考えてみると、どうせMacBookは駄目になったし、修理に出すと思って何かをすればよかったと思う。とにかく少し遅れたけど、最後までやるべきだと思い、第3章の感想を残す。1. アテンションメカニズム3章...

댓글을 불러오는 중...