2013-07-17 4 views
0

사이트에서 gettext를 사용하고 나중에 루프에서 해당 변수를 사용하여 요소를 계속 클릭 할 수있는 요구 사항이 있습니다. 이것은 작동하지만 5 회만 반복하고 클릭해야하는 횟수는 100 회 이상입니다. 여기에 내가셀레늄에서 변수를 사용하여 루프를 수행

감사합니다, Mediha을 좀 도와주십시오 잘못하고있는 무슨 코드

String vText= driver.findElement(By.xpath(")).getText(); 
System.out.println(vText); 
int vEle= vText.length(); 
for (int i=0; i<vEle; i++){ 
    driver.findElement(By.xpath("")).click(); 

의 샘플입니다

당신은 텍스트 100 회 복용하는 곳에서 로케이터를 확인해야 할 수도 있습니다
+0

당신이 무엇을 요구하고 있는지 명확히 할 수 있습니까? 당신이 찾고있는 답변의 종류를 말하기는 어렵습니다. – djangofan

+0

텍스트 길이만큼 반복됩니다. 그래서 길이가 너무 길어서 5 분 후에 루프가 끝난다고 생각합니다. – LINGS

+0

코드에 문법 오류가 있습니다'String vText = driver.findElement (By.xpath (")). getText();''닫는 따옴표가 없습니다. ''vText'의 내용과 – AndyPerfect

답변

2

. 100 개 요소 모두에 대해 동일하면 작동합니다.

시도해 보셨습니까 findElements 방법을 사용하셨습니까?

int vEle= vText.length(); 

그리고 나중에 루프에 있습니다 : :

for (int i=0; i<vEle; i++){ 

youl 루프는 무슨 일이 일어날 것을 의미

//It will return the List of webelements which has same locator 
List<WebElement> elements=driver.findElements(By.xpath("")); 

//Now iterate through List and do the required operation with each individual element 
for(WebElement ele:element) 
{ 
    ele.getText(); //It will print innertext of each element 
    ele.click();  //It will click on each element 
} 
+0

Thanks Santosh, – Madi

+0

@Madi이 패턴은 거의 항상 가장 안정적입니다. if DOM에서 비슷한 위치에있는 요소를 찾으려고 할 때 필요하다면 상대적 xpath를 사용하여 훨씬 더 강력한 패턴을 만들 수 있습니다. –

0

나는 당신의 예에서 오류가이 라인이라고 생각 그 텍스트는 여러 번 길다. 따라서 텍스트가 Hello 인 경우 루프는 5 회만 발생합니다. 난 당신이 산토 나를 보내신 코드에 보일지라도 실제로 다른 접근 방식을 발견

산토와 파벨

0

감사합니다. 그러나 여기에 내가 생각해 낸 코드가 있으며 이것이 가장 좋은 접근 방법인지에 대한 의견을 보내주십시오.

String vText driver.findElement(By.xpath("")).getText(); 

//This will split the output from the slash and the output looks like 1/120 
final String[] splitted = vText.split("\\D+"); 

//Here it will parse that output to an integer type and start with the first location 
final int slideCount = Integer.parseInt(splitted[1]); 

for (int i=0; i<slideCount; i++) { 
    driver.findElement(By.xpath("")).click(); 
} 
+1

원래 질문에서 'vText '는'1/120'의 예상 모양을 가지며 훨씬 더 간결한 대답을 더 빨리 얻을 수있는 "/"다음 숫자에 대해 반복 횟수를 반복하려고합니다. –

+0

엘리먼트를 찾으려는 HTML을 보지 않고도 최상의 접근 방식인지 여부를 아는 것은 어렵습니다. –

관련 문제