Apabila menggunakan Selenium dengan versi terkini, pembangun mungkin menghadapi amaran penamatan yang berkaitan dengan perintah find_element_by_*. Amaran ini menunjukkan bahawa arahan ini sudah lapuk dan harus digantikan dengan kaedah find_element() yang dimodenkan.
Penahentian arahan ini berpunca daripada keputusan untuk menyeragamkan API Selenium merentas pelbagai bahasa. Dengan menggunakan pendekatan bersatu tunggal untuk lokasi elemen, ia memudahkan pembangunan dan menjadikan proses lebih konsisten.
Untuk menyelesaikan amaran penamatan, semua panggilan arahan find_element_by_* mesti digantikan dengan find_element( ). Ini memerlukan pengimportan kelas Mengikut yang sesuai daripada modul selenium.webdriver.common.by.
from selenium.webdriver.common.by import By # Previous Code Using find_element_by_class_name button = driver.find_element_by_class_name("quiz_button") # Replacement Code Using find_element button = driver.find_element(By.CLASS_NAME, "quiz_button")
Selain find_element_by_class_name, yang lain perintah find_element_by_* yang tidak digunakan dan penggantiannya ialah:
Deprecated Command | Replacement |
---|---|
find_element_by_id | find_element(By.ID, "element_id") |
find_element_by_name | find_element(By.NAME, "element_name") |
find_element_by_link_text | find_element(By.LINK_TEXT, "element_link_text") |
find_element_by_partial_link_text | find_element(By.PARTIAL_LINK_TEXT, "element_partial_link_text") |
find_element_by_tag_name | find_element(By.TAG_NAME, "element_tag_name") |
find_element_by_css_selector | find_element(By.CSS_SELECTOR, "element_css_selector") |
find_element_by_xpath | find_element(By.XPATH, "element_xpath") |
Dengan mengikut penggantian disyorkan yang digariskan di atas, pembangun boleh berjaya menyelesaikan amaran penamatan dan terus menggunakan Selenium dengan berkesan. API yang dikemas kini menyediakan pendekatan yang lebih konsisten dan ringkas kepada lokasi elemen, mempertingkatkan kebolehbacaan dan kebolehselenggaraan.
Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Arahan find_element_by_* yang tidak digunakan dalam Selenium?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!