webdriver를 사용하여 클래스 이름이 topredo
인 웹 요소를 ArrayList로 가져 왔습니다.arraylist 크기가 실제보다 작음
스크롤 할 때 웹 요소가 증가하는 것을 볼 때, 나는 while
루프를 사용하여 스크롤을 잡고 잡습니다. 이 같은
자바 코드 :
outer: while (isContinue) {
List<WebElement> all = driver.findElements(By.className("torpedo"));
/* do screen scrolling*/
}
이 지난 루프까지 잘 실행됩니다. 마지막 secode 루프
나는 all.size()
결과 (208)를 얻을 수 있지만, 브라우저에 웹 요소의 실제의 총 크기 (243) 동안 마지막 루프에서 all.size()
결과는 172이고, I는 목록 스택 볼 이클립스 디버그를 사용 함유량. 이 같은
스크린 샷 :
- all.size() 지수 171
- 내용 끝
내 질문에
all.size()
이the real size
보다 작고 색인의 내용이 171보다 커 보이지 않는 이유는 무엇입니까?고맙습니다.
자세한 정보 제공 : 1. 정확한 테스트 단계는 무엇입니까? 2. 당신에게 효과가 있었던 것은 무엇입니까? 코드 표시. 3. 어디서 붙어 있니? 오류 스택 추적을 제공하십시오. 4. 관련 HTML DOM을 제공하십시오. – DebanjanB
당신은'all '을 계속해서 또 다시 리셋하고 있습니다 ... 스크롤을 마쳤다는 것을 알 때까지 스크롤을 한 다음'all = driver.findElements (By.className ("torpedo")); '당신의 루프 이후? 이렇게하면 요소를 설정하기 전에 마지막으로 스크롤이 발생하는 문제가 해결 될 수 있습니다. 당신의'isContinue'가하고있는 일이나 당신의 루프 로직의 다른 부분을 보지 못했기 때문에 확실하게 말하기는 어렵습니다. :) – mrfreester