Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menggunakan EC.presence_of_element_located() Selenium dengan Berbilang Nama Kelas?

Bagaimana untuk Menggunakan EC.presence_of_element_located() Selenium dengan Berbilang Nama Kelas?

DDD
DDDasal
2024-12-06 08:05:12705semak imbas

How to Use Selenium's EC.presence_of_element_located() with Multiple Class Names?

Menggunakan Selenium's EC.presence_of_element_located() untuk Menentukan Kelas

Apabila web mengikis halaman HTML dinamik, menggunakan WebDriverment_presence_ofEC.presence_ofEC () membolehkan kita menunggu a elemen tertentu untuk muncul sebelum mendapatkan semula data. Biasanya, kami menentukan elemen mengikut ID mereka. Walau bagaimanapun, dalam senario tertentu, kita mungkin perlu menentukan elemen mengikut kelasnya.

Kod asal cuba mencari elemen mengikut kelasnya menggunakan EC.presence_of_element_located((By.class, "ng-binding ng- skop")):

element = WebDriverWait(driver,100).until(EC.presence_of_element_located((By.class, "ng-binding ng-scope")))

Walau bagaimanapun, sintaks ini tidak akan berfungsi kerana ia tidak mematuhi Peraturan Sintaks Pencari WebDriver. Kaedah By.class tidak menyokong berbilang nama kelas sebagai argumen.

Penyelesaian:

Untuk menyelesaikan isu ini, kita boleh menggunakan presence_of_element_located( ) bersama-sama dengan By.CSS_SELECTOR atau By.XPATH untuk menentukan kedua-dua ID dan atribut kelas sebagai berikut:

Menggunakan CSS_SELECTOR:

element = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".ng-binding.ng-scope#tabla_evolucion")))

Menggunakan XPATH:

element = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//*[@class='ng-binding ng-scope' and @id='tabla_evolucion']")))

Dengan menggabungkan ID dan kelas atribut, kita boleh mencari dengan tepat elemen yang diingini walaupun hanya kelas ditentukan.

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan EC.presence_of_element_located() Selenium dengan Berbilang Nama Kelas?. 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