ホームページ  >  記事  >  Java  >  Selenium ページの読み込みを待つ方法

Selenium ページの読み込みを待つ方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-09-30 06:10:031003ブラウズ

Selenium How To Wait Page Loading

Selenium を使用してアプリケーションを作成しようとしています。私の機能はまさに次のとおりです。いくつかのドロップダウン メニューから選択を行うと、「loading」クラスのアニメーションがページに表示されます。その間、すべての要素が削除され、読み込みが完了すると再度追加されます。私はこれを共有した方法でなんとか処理できましたが、もっと効率的な方法があると思います。助けていただけますか?

selectElement: ul と li を使用して作成されたメニューには、JavaScript イベントが定義されています。

optionElement: selectElement 部分で選択を行った後、選択内のオプションが読み込まれ、それらが読み込まれたかどうかを確認します。

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) は例外をスローします {
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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。