ホームページ > バックエンド開発 > Python チュートリアル > Selenium が「データの取得」ボタンをクリックできないのはなぜですか? どうすれば修正できますか?

Selenium が「データの取得」ボタンをクリックできないのはなぜですか? どうすれば修正できますか?

Mary-Kate Olsen
リリース: 2024-12-09 05:53:09
オリジナル
1039 人が閲覧しました

Why Can't Selenium Click My

Selenium で Python を使用して [データの取得] ボタンをクリックできない

Web サイトからデータをスクレイピングしようとしたときに、Selenium を使用して [データの取得] ボタンをクリックするのが困難になりました。ボタン。 XPath ロケーターと ID ロケーターを利用したにもかかわらず、依然として失敗しました。

この問題を解決するには、次のロケーター戦略を利用してボタンをクリックします:

  • CSSセレクター:

    driver.find_element_by_css_selector("img.getdata-button#get").click()
    ログイン後にコピー
  • XPath:

    driver.find_element_by_xpath("//img[@class='getdata-button'][@id='get']").click()
    ログイン後にコピー

安定性を高めるために、これを推奨しますいずれかの CSS を使用して、element_to_be_clickable() 条件の WebDriverWait を誘導するにはセレクターまたは XPath ロケーター:

  • CSS の使用 セレクター:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable(By.CSS_SELECTOR, "img.getdata-button#get")).click()
    ログイン後にコピー
  • の使用XPath:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable(By.XPATH, "//img[@class='getdata-button'][@id='get']")).click()
    ログイン後にコピー

必要なインポートを忘れずに含めてください:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
ログイン後にコピー

以上がSelenium が「データの取得」ボタンをクリックできないのはなぜですか? どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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