>  기사  >  Java  >  Selenium 페이지 로딩을 기다리는 방법

Selenium 페이지 로딩을 기다리는 방법

Linda Hamilton
Linda Hamilton원래의
2024-09-30 06:10:031003검색

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)에서 예외 발생 {
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으로 문의하세요.