Pemansuhan find_element_by_* Perintah dalam Selenium
Versi terdahulu perpustakaan Selenium Python menyokong penggunaan arahan find_element_by_*. Walau bagaimanapun, dalam versi terkini, arahan ini telah ditamatkan.
Mesej Ralat:
Apabila menggunakan arahan find_element_by_* dalam perpustakaan Selenium Python terkini, anda mungkin menghadapi perkara berikut mesej ralat:
DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
Sebab untuk Penamatan:
Keputusan untuk menurunkan nilai perintah find_element_by_* berpunca daripada matlamat untuk memudahkan API Selenium merentas bahasa yang berbeza.
Penyelesaian:
Untuk menyelesaikan isu ini, anda harus beralih menggunakan kaedah find_element() dan bukannya find_element_by_* arahan.
# Previous code button = driver.find_element_by_class_name("quiz_button") # Updated code from selenium.webdriver.common.by import By button = driver.find_element(By.CLASS_NAME, "quiz_button")
Nota Tambahan:
Begitu juga, anda perlu mengemas kini perintah find_element_by_* yang lain seperti berikut:
Old Command | New Command |
---|---|
find_element_by_id() | find_element(By.ID, ...) |
find_element_by_name() | find_element(By.NAME, ...) |
find_element_by_link_text() | find_element(By.LINK_TEXT, ...) |
find_element_by_partial_link_text() | find_element(By.PARTIAL_LINK_TEXT, ...) |
find_element_by_tag_name() | find_element(By.TAG_NAME, ...) |
find_element_by_css_selector() | find_element(By.CSS_SELECTOR, ...) |
find_element_by_xpath() | find_element(By.XPATH, ...) |
Nota: Anda juga harus mengemas kini versi jamak (find_elements_by_*) sewajarnya.
Rujuk panduan peningkatan Selenium untuk mendapatkan maklumat lanjut tentang perubahan ini dan lain-lain apabila menaik taraf kepada Selenium 4.
Atas ialah kandungan terperinci Mengapa perintah find_element_by_* ditamatkan dalam perpustakaan Selenium Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!