Bolehkah anda menggunakan EC.presence_of_element_located Selenium dengan pemilih kelas dan bukannya pemilih ID?
Anda cuba menggunakan EC Selenium. kaedah presence_of_element_located untuk menunggu elemen dengan kelas ng-binding ng-scope hadir pada halaman web, tetapi ia tidak berfungsi. Mesej ralat yang anda terima ialah:
Message: invalid selector: Compound class names not permitted
Ralat ini berlaku kerana EC.presence_of_element_located tidak menyokong penggunaan berbilang nama kelas dalam pemilihnya.
Penyelesaian
Untuk menunggu elemen dengan kelas tertentu menggunakan Selenium, anda boleh menggunakan By.CLASS_NAME pencari. Begini cara anda boleh mengubah suai kod anda:
element = WebDriverWait(driver, 100).until(EC.presence_of_element_located((By.CLASS_NAME, "ng-binding ng-scope")))
Kod ini akan menunggu elemen dengan kelas ng-binding ng-skop kelihatan pada halaman.
Tambahan Nota
Dalam sesetengah kes, anda juga mungkin perlu menggunakan kaedah EC.visibility_of_element_located dan bukannya EC.kehadiran_elemen_terletak. Kaedah ini akan menunggu sehingga elemen bukan sahaja hadir tetapi juga boleh dilihat pada halaman.
Atas ialah kandungan terperinci Bolehkah EC.presence_of_element_located Selenium Menggunakan Pemilih Kelas Daripada ID?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!