Dalam Selenium, selalunya perlu menunggu sehingga unsur muncul sebelum berinteraksi dengannya. Menggunakan sleep() untuk menunggu adalah tidak boleh dipercayai, kerana masa penampilan elemen boleh berbeza-beza. Sebaliknya, anda harus memanfaatkan WebDriverWait dan keadaan yang dijangkakan.
Menunggu Kehadiran Elemen
Untuk mengesahkan kehadiran elemen pada DOM, tetapkan expected_conditions kepada presence_of_element_located(). Ini tidak memerlukan elemen untuk kelihatan. Contohnya:
WebDriverWait(browser, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".reply-button"))).click()
Menunggu Keterlihatan Elemen
Untuk mengekstrak atribut daripada elemen, gunakan visibility_of_element_located(). Ini memastikan elemen kelihatan dan mempunyai dimensi bukan sifar.
email = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".anonemail"))).get_attribute("value")
Menunggu Kebolehklik Elemen
Untuk mengklik pada elemen, tetapkan expected_conditions kepada element_to_be_clickable() . Ini menyemak sama ada elemen itu kelihatan dan didayakan untuk interaksi.
WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".reply-button"))).click()
Rujukan Tambahan
Untuk mendapatkan cerapan lanjut, rujuk sumber berikut:
Atas ialah kandungan terperinci Bagaimana Anda Boleh Menunggu Elemen Hadir, Kelihatan dan Boleh Diklik dalam Selenium?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!