Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapakah Perintah `find_element_by_*` Ditamatkan dalam Selenium?

Mengapakah Perintah `find_element_by_*` Ditamatkan dalam Selenium?

Patricia Arquette
Patricia Arquetteasal
2024-11-10 11:11:02277semak imbas

Why are `find_element_by_*` Commands Deprecated in Selenium?

find_element_by_* Perintah Ditamatkan dalam Selenium

Dalam artikel ini, kami akan menangani persoalan mengapa anda menghadapi Amaran Penamatan "find_element_by_* arahan ditamatkan" apabila menggunakan Perpustakaan Selenium Python.

The Amaran Penamatan

Mesej ralat membayangkan bahawa arahan find_element_by_* tidak lagi disyorkan dan harus dihentikan secara berperingkat memihak kepada kaedah find_element() yang lebih umum. Perubahan ini diperkenalkan untuk memudahkan API merentas bahasa yang berbeza.

Solution

Untuk menyelesaikan isu ini, anda mesti menggantikan semua kejadian find_element_by_* dengan find_element( ). Selain itu, anda perlu memasukkan import berikut:

from selenium.webdriver.common.by import By

Berikut ialah contoh cara untuk menggantikan kaedah yang tidak digunakan:

Menggunakan class_name:

# Deprecated
button = driver.find_element_by_class_name("quiz_button")

# New
button = driver.find_element(By.CLASS_NAME, "quiz_button")

Begitu juga, anda boleh menggantikan yang berikut yang tidak digunakan lagi kaedah:

  • id: By.ID
  • nama: By.NAME
  • link_text: Oleh.LINK_TEXT
  • separa_pautan_teks: Oleh.PARTIAL_LINK_TEXT
  • nama_tag: Oleh.TAG_NAME
  • cs_selector : By.CSS_SELECTOR
  • xpath: By.XPATH

Nota: Anda juga perlu mengemas kini bentuk jamak kaedah ini ( find_elements_by_*) dalam yang sama caranya.

Sumber Tambahan

    [Naik taraf kepada Selenium 4](https://www.sqa.stackexchange.com/questions/60275/ selenium-navigate-vs-driver-get-in-selenium-4): Panduan naik taraf ini merangkumi perubahan lain yang tidak berkaitan yang anda mungkin pertemuan.

Atas ialah kandungan terperinci Mengapakah Perintah `find_element_by_*` Ditamatkan dalam 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