Cara Melaksanakan Kelewatan dalam Selenium-WebDriver menggunakan Java: Penantian Tersirat vs. Eksplisit
Dalam projek Java Selenium-WebDriver anda, anda mempunyai menghadapi cabaran dengan lokasi elemen. Anda telah menambahkan kedua-dua penantian tersirat dan Thread.sleep, dan sementara yang kedua menyelesaikan isu itu, anda mencari pendekatan yang lebih sesuai.
Penantian Tersirat vs. Penantian Tersurat
Selenium-WebDriver menyediakan dua jenis penantian:
Perbandingan
Sementara penantian tersirat adalah mudah, ia boleh menyebabkan kelewatan yang tidak perlu jika elemen dimuatkan dengan cepat. Penantian eksplisit, sebaliknya, memberikan lebih kawalan dan fleksibiliti.
Pendekatan Disyorkan: Tunggu Eksplisit
Dalam senario anda, penantian eksplisit ialah penyelesaian yang lebih sesuai kerana masa muat yang berbeza-beza bagi Antara Muka Pengguna aplikasi anda. Contoh kod yang disediakan di bawah menunjukkan penggunaan penantian eksplisit:
<code class="java">import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; public class ExplicitWaitExample { public static void main(String[] args) { WebDriver driver = getDriver(); WebElement textbox = new WebDriverWait(driver, 30) .until(ExpectedConditions.presenceOfElementLocated(By.id("textbox"))); } }</code>
Pendekatan ini memastikan Selenium menunggu sehingga elemen kotak teks hadir pada halaman sebelum meneruskan, membolehkan anda mengelakkan penggunaan menunggu tetap tempoh.
Atas ialah kandungan terperinci Penantian Tersirat vs. Eksplisit dalam Selenium: Bilakah Saya Harus Menggunakan Yang Mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!