ホームページ >バックエンド開発 >Python チュートリアル >Selenium が「データの取得」ボタンをクリックできないのはなぜですか? どうすれば修正できますか?
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 サイトの他の関連記事を参照してください。