首頁 >後端開發 >Python教學 >如何使用 Selenium 的 EC.presence_of_element_ located 依類別屬性定位元素?

如何使用 Selenium 的 EC.presence_of_element_ located 依類別屬性定位元素?

Susan Sarandon
Susan Sarandon原創
2024-12-25 16:20:11853瀏覽

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

如何將 EC.presence_of_element_ located 與類別屬性一起使用

當將 selenium 的 EC.presence_of🎜>

當將 selenium 的 EC.presence_of_一起使用時,您可以指定要透過以下方式尋找的元素它的類別屬性而不是它的 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")))

注意:

避免使用 Presence_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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn