P粉8999507202023-08-22 15:30:51
이런 문제가 있었던 적이 있었는데 나도 모르는 사이에 BackboneJS가 페이지에서 실행되고 있었고 이것이 내가 클릭하려고 했던 요소를 대체했습니다. 내 코드는 다음과 같습니다.
으아악물론 기능적으로는 아래 코드와 동일합니다.
으아악때때로 자바스크립트가 찾기와 클릭 사이의 checkoutLink 요소를 대체하는 경우가 있습니다.
으아악링크를 클릭하려고 하면 StaleElementReferenceException이 발생합니다. WebDriver에게 javascript 실행이 완료될 때까지 기다리도록 지시하는 신뢰할 수 있는 방법을 찾을 수 없었기 때문에 이것이 문제를 해결한 방법입니다.
으아악이 코드는 클릭이 성공하거나 시간 초과에 도달할 때까지 StaleElementReferenceException 예외를 무시하고 계속해서 링크 클릭을 시도합니다. 이 솔루션은 재시도 논리를 작성하는 번거로움을 없애고 WebDriver의 내장 구성만 사용하기 때문에 마음에 듭니다.
P粉3431416332023-08-22 13:04:24
이는 페이지에서 DOM 조작이 일시적으로 요소에 액세스할 수 없게 되는 경우에 발생합니다. 이러한 상황을 처리하려면 마지막으로 예외가 발생할 때까지 루프에서 요소에 여러 번 액세스하려고 시도할 수 있습니다.
darrelgrainger.blogspot.com에서 이 훌륭한 솔루션을 사용해 보세요.
으아악