Selenium WebDriver의 오래된 요소 참조 예외는 상호 작용하려는 요소가 제거되고 동적으로 다시 생성될 때 발생합니다. 이는 요소가 지속적으로 수정되는 복잡한 웹 애플리케이션에서 흔히 발생합니다.
요소 새로 고침 이해
WebElement는 DOM의 요소를 나타냅니다. 기본 요소가 삭제된 다음 다시 구성되면 StaleElementException이 트리거됩니다. 이는 DOM 조작이 필요한 사용자 상호 작용 중에 발생할 수 있으며, 이로 인해 원본 WebElement가 "부실"해지게 됩니다.
부실 요소 참조 해결 모범 사례
이 예외를 방지하려면 , 요소에 대한 참조를 새로 고쳐야 합니다. 다음은 몇 가지 권장 사례입니다.
예
제공한 코드를 고려하세요.
WebDriverWait wait = new WebDriverWait(driver, 10); wait.until(new ExpectedCondition<Boolean>() { public Boolean apply(WebDriver driver) { WebElement button = driver.findElement(By.name("createForm:dateInput_input")); if (button.isDisplayed()) return true; else return false; } });
이 문제를 해결하려면 동적 로케이터를 사용할 수 있습니다. By.name() 대신 또는 오래된 요소 참조가 발생할 때 요소를 새로 고치는 적절한 예외 처리를 구현하십시오. 예외입니다.
위 내용은 Selenium WebDriver에서 오래된 요소 참조 예외를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!