Rumah > Java > javaTutorial > Bagaimana untuk Menunggu Keterlihatan Elemen dalam WebDriver Sebelum Mengklik?

Bagaimana untuk Menunggu Keterlihatan Elemen dalam WebDriver Sebelum Mengklik?

Mary-Kate Olsen
Lepaskan: 2024-11-27 05:58:10
asal
334 orang telah melayarinya

How to Reliably Wait for Element Visibility in WebDriver Before Clicking?

WebDriver: Menunggu Kehadiran Elemen

Soalan: Bagaimanakah saya boleh menunggu dengan pasti elemen untuk kelihatan sebelum ini mengkliknya? Penantian tersirat sahaja nampaknya tidak konsisten.

Untuk menangani perkara ini, penantian tersirat boleh digunakan. Walau bagaimanapun, penyelesaian yang lebih dipercayai ialah:

for (int second = 0;; second++) {
    Thread.sleep(sleepTime);
    if (second >= 10)
        fail("timeout : " + vName);
    try {
        if (driver.findElement(By.id(prop.getProperty(vName))).isDisplayed())
            break;
    } catch (Exception e) {
        writeToExcel("data.xls", e.toString(), parameters.currentTestRow, 46);
    }
}
driver.findElement(By.id(prop.getProperty(vName))).click();
Salin selepas log masuk

Kod ini menunggu sehingga elemen kelihatan atau nilai tamat masa dicapai. Walau bagaimanapun, ia memerlukan pengguna untuk menentukan masa menunggu, yang boleh menyusahkan.

Jawapan: Gunakan keupayaan menunggu eksplisit WebDriver untuk memastikan menunggu yang boleh dipercayai untuk kehadiran elemen.

Kod berikut menunjukkan pendekatan yang disyorkan:

WebDriverWait wait = new WebDriverWait(webDriver, timeoutInSeconds);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id<locator>));
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan:

wait.until(ExpectedConditions.elementToBeClickable(By.id<locator>));
Salin selepas log masuk

Kaedah ini menyediakan kawalan terperinci ke atas keadaan menunggu, menghapuskan keperluan untuk logik tidur tersuai.

Tambahan Sumber:

  • [ExpectedConditions](https://seleniumhq.github.io/selenium/javadoc/3.141.59/org/openqa/selenium/support/ui/ExpectedCondit ions.html)
  • [WebDriverWait](https://seleniumhq.github.io/selenium/javadoc/3.141.59/org/openqa/selenium/support/ui/WebDriverWait.html)

Atas ialah kandungan terperinci Bagaimana untuk Menunggu Keterlihatan Elemen dalam WebDriver Sebelum Mengklik?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan