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
Lepaskan: 2024-12-06 08:05:12
asal
664 orang telah melayarinya

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

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

Menggunakan XPATH:

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

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!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan