Java Java 셀레늄 webdriver 프로젝트에 많은 Thread.sleep() 명령이 있습니다. sleep 명령을 사용하는 것은 나쁜 습관이고 암시 적으로 명령은 브라우저 인스턴스가 시작된 후에 한 번 선언되어야하며 전체 스크립트를 처리한다는 것을 자주 읽었습니다. 이 프로젝트에서 나에게 도움이되지 않습니다.Thread.sleep() implicitlyWait보다 우수함을 증명합니다.
As NoSuchElementExceptions가 특정 요소에 대해 발생하는 경우가 많으므로 문제가있는 각 요소 바로 앞에 sleep 명령을 추가했습니다. 스크립트가 통과되었습니다. 잠자기 명령을 제거하고 암시 적으로 30 초를 기다렸을 때 스크립트는 WebdriverException/NoSuchElementException으로 실패했습니다. 왜냐하면 webdriver가 각 요소를 찾을 수 없기 때문입니다. 수면 명령은 2 ~ 3 초 안에 요소를 찾습니다. 여기 Thread.sleep()이 우월하다는 것을 증명합니까? ExplicitlyWait을 사용해야 할 경우 예상 조건이 필요한 많은 요소가 있으므로 많은 요소도 선언해야합니다. 해결 방법이 있습니까?
명시 적 대기와 관련된 문제는 개별 사례에 대한 문제입니다. 관련된 모든 요소에 대해 하나만 선언 할 수는 없으므로 Thread.sleep()과 비슷하게 스크립트에서 여러 번 선언해야합니다. 옳은? –