首頁 > Java > java教程 > 主體

Selenium 如何等待頁面加載

Linda Hamilton
發布: 2024-09-30 06:10:03
原創
1100 人瀏覽過

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中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!