ホームページ > バックエンド開発 > Python チュートリアル > Python で Selenium Webdriver を使用して Web ページをスクロールするにはどうすればよいですか?

Python で Selenium Webdriver を使用して Web ページをスクロールするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-09 11:20:12
オリジナル
366 人が閲覧しました

How Can I Scroll a Web Page Using Selenium Webdriver in Python?

Python で Selenium Webdriver を使用して Web ページをスクロールする

Web オートメーションの領域では、Selenium Webdriver は、Web ページをナビゲートして操作するための信頼できるツールとして機能します。タスクを自動化するときに直面する一般的な課題の 1 つは、Web ページを下にスクロールして追加のコンテンツにアクセスすることです。この記事では、Python で Selenium Webdriver を使用して下にスクロールするさまざまな方法について詳しく説明します。

方法 1: 特定の高さを指定する

ページ上で特定の高さまでスクロールするには、次の構文を使用します。

driver.execute_script("window.scrollTo(0, Y)")
ログイン後にコピー

ここで、Y は希望の高さをピクセル単位で表します。たとえば、1080 ピクセルの高さ (フル HD モニターの高さ) まで下にスクロールするには、次のようにします。

driver.execute_script("window.scrollTo(0, 1080)")
ログイン後にコピー

方法 2: ページの一番下までスクロールする

ページの一番下までスクロールし、次のコードを実行します。

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
ログイン後にコピー

このコマンドにより、確実に次のページに到達します。

アプローチ 3: 無限スクロール

無限スクロールを使用する Web ページ (ソーシャル メディア フィードなど) の場合は、カスタム スクロールを実装する必要があります。メカニズム:

SCROLL_PAUSE_TIME = 0.5

# Get the initial scroll height
last_height = driver.execute_script("return document.body.scrollHeight")

while True:
    # Scroll down to the bottom
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

    # Allow time for the page to load
    time.sleep(SCROLL_PAUSE_TIME)

    # Calculate the new scroll height and compare it with the previous one
    new_height = driver.execute_script("return document.body.scrollHeight")
    if new_height == last_height:
        break
    last_height = new_height
ログイン後にコピー

追加のメソッド: 要素を選択し、スクロール

必要に応じて、ページ上の要素を選択して直接スクロールできます。

label = driver.find_element_by_css_selector("body")
label.send_keys(Keys.PAGE_DOWN)
ログイン後にコピー

要素を選択して Keys.PAGE_DOWN コマンドを送信すると、ページがスクロールします。 1 ページ下にあります。

以上がPython で Selenium Webdriver を使用して Web ページをスクロールするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート