El escenario de automatización es obtener todos los enlaces en la lista web y luego obtener este contenido de la lista de arreglos fuera del bucle y luego obtener el número de índice dinámicamente en función de la URL.
String values=""; List<WebElement> url_link = driver.findElements(By.cssSelector(".anomaly>a")); for ( WebElement we: url_link) { String temp = values; values = temp + we.getText(); } System.out.println("Text "+values); int ind=values.indexOf("www.test.com"); System.out.println("Index "+ind);El código anterior me devuelve un número de índice extraño de 74.
Los contenidos de salida de url_link son:
wwww.hatch.com wwww.tist.com wwww.helix.com wwww.patching.com wwww.seyh.com wwww.test.com wwww.toast.com wwww.telling.com wwww.uity.comasí que, según el resultado esperado, espero que el número de índice sea 5.
Cualquier ayuda será apreciada.
La variable values es una variable de tipo String , no es una List . Entonces, cuando haces values = temp + we.getText(); , básicamente está agregando todos los enlaces en una sola String . Así que la salida en realidad será esta:
wwww.hatch.comwwww.tist.comwwww.helix.comwwww.patching.comwwww.seyh.comwwww.test.comwwww.toast.comwwww.telling.comwwww.uity.com El índice de www.test.com es 74 en esta cadena. Debe agregar estos enlaces en una ArrayList y luego encontrar el índice del enlace que desea buscar.
Algo como esto debería funcionar:
List<String> values = new ArrayList<String>(); List<WebElement> url_link = driver.findElements(By.cssSelector(".anomaly>a")); for ( WebElement we: url_link) { values.add(we.getText()); } int ind = values.indexOf("www.test.com"); System.out.println("Index "+ind);