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

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

Susan Sarandon
發布: 2024-12-25 16:20:11
原創
875 人瀏覽過

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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板