Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mencari Elemen mengikut Atribut Kelas Menggunakan EC.presence_of_element_located Selenium?

Bagaimana untuk Mencari Elemen mengikut Atribut Kelas Menggunakan EC.presence_of_element_located Selenium?

Susan Sarandon
Susan Sarandonasal
2024-12-25 16:20:11813semak imbas

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

Cara Menggunakan EC.presence_of_element_located dengan Atribut Kelas

Apabila menggunakan kaedah EC.presence_of_element_located selenium dengan WebDriverbyWait, anda boleh mencari elemen atribut kelasnya dan bukannya IDnya. Begini cara untuk melakukannya:

Kod asal:

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

cuba mencari elemen dengan IDnya. Untuk mencari elemen mengikut kelasnya, tukar "By.ID" kepada "By.CLASS" dan berikan nama kelas:

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

Nota: Elakkan menggunakan presence_of_element_located untuk tindakan interaktif . Sebaliknya, pilih visibility_of_element_located atau element_to_be_clickable.

Selain itu:

  • Menggunakan CSS_SELECTOR atau XPATH membolehkan anda menggabungkan ID dan atribut kelas untuk elemen yang lebih tepat lokasi:
# 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']")))
  • Ingat, nama kelas kompaun tidak dibenarkan dalam By.class. Kod di atas cuba mencari elemen dengan kedua-dua kelas "ng-binding" dan "ng-scope".

Atas ialah kandungan terperinci Bagaimana untuk Mencari Elemen mengikut Atribut Kelas Menggunakan EC.presence_of_element_located Selenium?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn