>Java >java지도 시간 >Selenium에서 웹 페이지 로드 완료를 안정적으로 확인하는 방법은 무엇입니까?

Selenium에서 웹 페이지 로드 완료를 안정적으로 확인하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-20 12:45:24217검색

How to Reliably Determine Web Page Load Completion in Selenium?

Selenium에서 페이지 로드 완료를 확인하는 방법

Selenium은 웹페이지가 완전히 로드되었는지 확인하는 다음과 같은 다양한 접근 방식을 제공합니다.

페이지 로드 시간 초과 설정

pageLoadTimeout() 메서드를 사용하여 Selenium은 지정된 시간 초과 내에 페이지 로드가 완료될 때까지 기다립니다. 그러나 이 방법은 모든 경우에 신뢰할 수 있는 것은 아닙니다.

페이지 로드 전략을 일반으로 설정

DesiredCapability 또는 ChromeOptions 클래스를 사용하여 pageLoadStrategy를 일반으로 설정할 수 있습니다. 이렇게 하면 브라우저는 다음 코드 줄을 실행하기 전에 document.readyState가 "완료"될 때까지 기다립니다.

JavaScript 및 Ajax 호출 대기

기다리기 모든 JavaScript 및 Ajax 호출을 완료하려면 jQuery.active를 확인하는 사용자 정의 함수를 사용할 수 있습니다. 속성:

public void waitForAjax2Complete() throws InterruptedException {
    while (true) {
        if ((Boolean) ((JavascriptExecutor)driver).executeScript("return jQuery.active == 0")){
            break;
        }
        Thread.sleep(100);
    }
}

ExpectedConditions 사용

ExpectedConditions 클래스를 사용하여 특정 조건이 포함된 페이지 제목과 같이 계속 진행하기 전에 특정 조건이 충족될 때까지 기다릴 수 있습니다. 문자열:

new WebDriverWait(driver, 10).until(ExpectedConditions.titleContains("partial_title_of_application_under_test"));

또는 특정 항목의 가시성 element:

WebElement ele = new WebDriverWait(driver, 10).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("xpath_of_the_desired_element")));

결론

Selenium에는 페이지가 완전히 로드되었는지 확인하는 일반적인 기능이 없지만 위에 설명된 접근 방식은 다양한 상황에 대한 효과적인 솔루션을 제공합니다. 사용 사례. 페이지 로드 전략을 고려하거나 JavaScript 및 Ajax 호출을 기다리거나 ExpectedConditions를 사용하면 진행하기 전에 테스트가 적절한 조건을 기다리고 있는지 확인할 수 있습니다.

위 내용은 Selenium에서 웹 페이지 로드 완료를 안정적으로 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.