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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-09 05:53:091023ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。