WebDriver.Wait가 지정된 요소를 기다리고 있지 않음
쿼리:
내 코드가 대기를 시도합니다. 텍스트 콘텐츠를 검색하기 전 요소의 모양. 코드를 단계별로 실행하는 동안 제대로 작동합니다. 그런데 중단점 없이 실행하면 대기가 우회된 것처럼 보이고 예외가 발생합니다.
대기가 무시되는 이유는 무엇입니까?
코드 조각:
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30)); IWebElement message = wait.Until(driver => driver.FindElement(By.ClassName("block-ui-message"))); string messageText = message.Text;
응답:
대안 접근 방식은 수정된 Locator 전략과 함께 WebDriverWait의 ElementIsVisible() 메서드를 사용하는 것입니다.
string messageText = new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until(ExpectedConditions.ElementIsVisible(By.ClassName("block-ui-message"))).GetAttribute("innerHTML");
NuGet과 함께 DotNetSeleniumExtras.WaitHelpers 사용:
SeleniumExtras 및 WaitHelpers를 사용하는 경우 , 코드는 다음과 같이 수정될 수 있습니다. 다음:
string messageText = new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.ClassName("block-ui-message"))).GetAttribute("innerHTML");
위 내용은 디버깅하지 않고 실행할 때 내 WebDriverWait가 무시되는 것처럼 보이는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!