首頁 >Java >java教程 >Selenium 如何等待頁面加載

Selenium 如何等待頁面加載

Linda Hamilton
Linda Hamilton原創
2024-09-30 06:10:031147瀏覽

Selenium How To Wait Page Loading

我正在嘗試使用 Selenium 建立一個應用程式。我的功能如下。從某些下拉式選單中進行選擇後,頁面上會出現帶有「載入」類別的動畫,在此期間所有元素都會被刪除,然後在載入完成後重新新增。我設法按照我分享的方式處理這個問題,但我相信有一種更有效的方法來做到這一點。你能幫我一下嗎?

selectElement:使用 ul 和 li 建立的選單定義了 JavaScript 事件。

optionElement:在 selectElement 部分中進行選擇後,將載入 select 內的選項,並檢查它們是否已載入。

optionToSelect:由 selectElement 中的 li 元素組成。

isLoadingExpected:進行一些選擇後,頁面上會出現載入動畫,我無法阻止。

這是影片和我想做的事情(出於隱私原因進行了模糊處理):https://streamable.com/p47d93

selectItem(Elements.xxx.xPath, Elements.xxxOptions.xPath, aaa.bbb.xPath, 0);

`public static void selectItem(String selectElement, String optionElements, String optionToSelect, int isLoadingExpected) throws Exception {
WebDriverWait waitElement = new WebDriverWait(chromeDriver, Duration.ofSeconds(10));

    if (isLoadingExpected == 1) {
        waitElement.until(ExpectedConditions.visibilityOfElementLocated(By.className("loading")));
        waitElement.until(ExpectedConditions.invisibilityOfElementLocated(By.className("loading")));
    }

    WebElement selectWebElement = waitElement.until(ExpectedConditions.elementToBeClickable(By.xpath(selectElement)));
    waitElement.until(ExpectedConditions.numberOfElementsToBeMoreThan(By.xpath(optionElements), 1));
    selectWebElement.click();

    WebElement optionWebElement = waitElement.until(ExpectedConditions.elementToBeClickable(By.xpath(optionToSelect)));
    optionWebElement.click();
}`

以上是Selenium 如何等待頁面加載的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn