c# - firefoxdriver - selenium webdriver python
¿Cómo verificar si dom tiene una clase usando WebDriver(Selenium 2)? (3)
Para ampliar la respuesta de Sam Woods, utilizo un método de extensión simple (esto es para C #) para probar si un elemento tiene una clase especificada o no:
public static bool HasClass( this IWebElement el, string className ) {
return el.GetAttribute( "class" ).Split( '' '' ).Contains( className );
}
Soy muy nuevo en Selenium, así que mis disculpas si es una pregunta tonta. He cableado con éxito IntelliJ (Play! Framework) con Selenium, y he creado algunas pruebas con firefoxDrivers.
Estoy tratando de verificar si la página ha sido validada correctamente.
Para resumir, estoy seleccionando un elemento como este:
WebElement smallDecel = firefoxDriver.findElement(By.cssSelector("#configTable tr:nth-child(2) td .playerDecelInput"));
Realizo algunas operaciones adicionales (borrar y cambiar el valor, enviar el ''formulario''), y luego quiero verificar si el TD en el que se encuentra la entrada recibió otra clase.
Entonces, la pregunta es: ¿hay una técnica simple que pueda usar para averiguar si un WebElement / DOM tiene una clase especificada?
Puede usar FindElement(By.ClassName(//name of your class));
Le recomendaría que recorra y busque el DOM por un período de tiempo determinado o establezca un Thread.sleep (xxxx) y luego busque la clase adjunta.
Una vez que encuentre el elemento, puede simplemente llamar a myElement.GetAttribute ("clase"). Luego puede analizar la cadena que se devuelve y ver si contiene o no el nombre de la clase que le interesa.