Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menggunakan WebDriverWait dengan Selenium untuk Mencari Elemen mengikut Kelas dalam Halaman Web Dinamik?
Memanfaatkan Spesifikasi Kelas dengan WebDriverWait
Dalam projek mengikis web yang melibatkan tapak web dengan kandungan dinamik yang dimuatkan melalui JavaScript, menyepadukan perpustakaan Selenium dengan Python meningkatkan kecekapan dengan membenarkan kawalan ke atas pengenalan dan pemuatan elemen. Ini membolehkan menunggu sehingga elemen tertentu dipaparkan sebelum meneruskan pengikisan.
Walau bagaimanapun, apabila ia datang untuk menentukan elemen mengikut kelas dan bukannya ID, menggunakan EC.presence_of_element_located((By.ID, "myDynamicElement")) membentangkan cabaran. Untuk menangani perkara ini, By.class tidak boleh digunakan dengan berbilang nama kelas, mengakibatkan ralat.
Penyelesaian
Untuk mengatasi had ini dan secara berkesan menentukan elemen mengikut kelas, pertimbangkan menggunakan kaedah WebDriverWait ExpectedConditions lain seperti visibility_of_element_located() atau element_to_be_clickable(). Selain itu, menggunakan CSS_SELECTOR atau XPATH membenarkan penggabungan atribut ID dan CLASS untuk pengenalan yang tepat:
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, penyelesaian yang paling sesuai bergantung pada keperluan khusus projek dan struktur HTML tapak web anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan WebDriverWait dengan Selenium untuk Mencari Elemen mengikut Kelas dalam Halaman Web Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!