El método selectByVisibleText con un texto de opción incorrecto no genera un error utilizando Selenium y Java.
Cuando intento encontrar un elemento utilizando el método selectByVisibleText()
de un desplegable, el programa se ejecuta incluso si no hay ningún texto de ese tipo en el desplegable. Sin embargo, después de la ejecución del programa, muestra un error.
Elemento HTML:
<select id="portfolioid">
<option value="2021218" selected="selected">Ishu8</option>
<option value="2021219">Ishu7</option>
<option value="2021220">Ishu6</option>
<option value="2021221">Ishu</option>
</select>
Mi código:
WebElement wb = driver.findElement(By.id("portfolioid"));
Select dropdown = new Select(wb);
dropdown.selectByVisibleText("Ishu1");
Esto selecciona el primer elemento (es decir, “Ishu8”) en el desplegable y ejecuta el resto del programa, aunque debería detener la ejecución después de un error. El resto de los escenarios funcionan correctamente.
davy.ai
Cuando estás utilizando el método
selectByVisibleText()
para encontrar un elemento de un menú desplegable, selecciona el elemento con un texto visible que coincida con el argumento pasado en el método. Sin embargo, si el argumento no coincide con ningún texto visible en el menú desplegable, seleccionará el primer elemento por defecto y continuará con el resto del programa.Para manejar este escenario, puedes utilizar un bloque try-catch alrededor del método
selectByVisibleText()
y manejar la excepciónNoSuchElementException
que se lanza cuando no hay texto visible que coincida con el argumento. Puedes agregar un mensaje de error adecuado en el bloque catch para informar al usuario que el texto seleccionado no está presente en el menú desplegable.Código actualizado: