ホームページ >バックエンド開発 >Python チュートリアル >Selenium の EC.presence_of_element_located を使用してクラス属性によって要素を検索する方法

Selenium の EC.presence_of_element_located を使用してクラス属性によって要素を検索する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-12-25 16:20:11845ブラウズ

How to Locate Elements by Class Attribute Using Selenium's EC.presence_of_element_located?

クラス属性で EC.presence_of_element_located を使用する方法

Selenium の EC.presence_of_element_located メソッドを WebDriverWait で使用する場合、検索する要素を指定できます。 ID の代わりにクラス属性を使用します。その方法は次のとおりです。

元のコード:

element = WebDriverWait(driver,100).until(EC.presence_of_element_located((By.ID, "tabla_evolucion")))

は、ID によって要素を検索しようとします。代わりにクラスで要素を検索するには、「By.ID」を「By.CLASS」に変更し、クラス名を指定します:

element = WebDriverWait(driver,100).until(EC.presence_of_element_located((By.CLASS, "ng-binding ng-scope")))

注: インタラクティブなアクションには present_of_element_located の使用を避けてください。 。代わりに、visibility_of_element_located または element_to_be_clickable を優先します。

追加:

  • CSS_SELECTOR または XPATH を使用すると、ID 属性とクラス属性を組み合わせてより正確な要素を作成できます。 location:
# CSS_SELECTOR
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located(
    (By.CSS_SELECTOR, ".ng-binding.ng-scope#tabla_evolucion")))

# XPATH
element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located(
    (By.XPATH, "//*[@class='ng-binding ng-scope' and @id='tabla_evolucion']")))
  • By.class では複合クラス名は許可されていないことに注意してください。上記のコードは、「ng-binding」クラスと「ng-scope」クラスの両方を持つ要素を検索しようとします。

以上がSelenium の EC.presence_of_element_located を使用してクラス属性によって要素を検索する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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