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

Mengapakah Perintah `find_element_by_*` Ditamatkan dalam Selenium?

Patricia Arquette
Lepaskan: 2024-11-10 11:11:02
asal
336 orang telah melayarinya

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
Salin selepas log masuk

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")
Salin selepas log masuk

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan