Rumah >Java >javaTutorial >Bagaimana untuk Menggantikan Penantian Tersirat dengan Penantian Eksplisit dalam Selenium WebDriver?

Bagaimana untuk Menggantikan Penantian Tersirat dengan Penantian Eksplisit dalam Selenium WebDriver?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-10 15:06:10568semak imbas

How to Replace Implicit Waits with Explicit Waits in Selenium WebDriver?

Cara Mengendalikan Penantian Tersirat dengan Penantian Eksplisit (Selenium Webdriver & Java)

Penantian tersirat ialah arahan kepada WebDriver untuk menunggu jumlah masa tertentu semasa mencari untuk sesuatu unsur. Ini boleh berguna dalam situasi di mana halaman dimuatkan dengan perlahan atau elemen tidak tersedia serta-merta.

Masalah:

Anda cuba menggantikan penantian tersirat dengan penantian yang jelas dalam perkara berikut kod:

driver = new ChromeDriver(capabilities);

driver.manage().deleteAllCookies();

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

Penyelesaian:

Penantian tersirat ditakrifkan sekali pada permulaan sesi WebDriver dan digunakan pada semua carian elemen. Penantian eksplisit digunakan untuk elemen dan syarat tertentu. Dalam kes ini, tiada syarat khusus untuk menunggu, jadi penantian tersirat tidak boleh digantikan secara langsung dengan yang tersurat.

Sebaliknya, anda boleh menggunakan penantian eksplisit apabila anda perlu menunggu elemen tertentu atau syarat. Contohnya, untuk menunggu elemen kelihatan, anda boleh menggunakan kod berikut:

WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("my-element")));

Kod ini akan menunggu sehingga 10 saat untuk elemen dengan ID "elemen saya" menjadi kelihatan.

Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Penantian Tersirat dengan Penantian Eksplisit dalam Selenium WebDriver?. 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