Saltar al contenido

Cómo verificar si Element existe en los controladores c# Selenium

Indagamos en todo internet para así tener para ti la solución para tu inquietud, en caso de dudas puedes dejar la pregunta y contestamos porque estamos para ayudarte.

Solución:

Puede verificar las salidas de elementos o no usar

bool isElementDisplayed = driver.findElement(By.xpath("element")).isDisplayed()

Recordar, findElementlanza una excepción si no encuentra el elemento, por lo que debe manejarlo adecuadamente.

En una de mis aplicaciones manejé la excepción al verificar el elemento en una función separada,

    private bool IsElementPresent(By by)
    
        try
        
            driver.FindElement(by);
            return true;
        
        catch (NoSuchElementException)
        
            return false;
        
    

función de llamada,

            if (IsElementPresent(By.Id("element name")))
            
                //do if exists
            
            else
            
                //do if does not exists
            

Puede usar FindElements con una “s” para determinar si existe, ya que FindElement da como resultado una excepción. Si FindElements no devuelve un elemento, devuelve una lista vacía.

List elementList = new List();
elementList.AddRange(driver.FindElements(By.XPath("//input[@att='something']")));

if(elementList.Count > 0)

 //If the count is greater than 0 your element exists.
   elementList[0].Click();

Así que recientemente descubrí otra forma, que es MUCHO más rápida. Si su elemento tiene una identificación única o alguna attribute que no existe en ningún otro lugar de la página, puede comprobar el origen de la página.

driver.PageSource.Contains("UniqueID");

Comprueba la página para ver si existe la identificación u otro texto único. Esto sucede casi instantáneamente, a diferencia de usar una instrucción Try/Catch, que demora ~20 segundos. FindElements también tarda mucho en ejecutarse.

Aquí tienes las reseñas y valoraciones

Agradecemos que desees añadir valor a nuestra información añadiendo tu veteranía en las interpretaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *