Cómo convertir un objeto de tipo String “rgba(105, 54, 221, 1)” a Color en Java-Selenium?
Después de obtener el valor de CSS del color de un WebElement utilizando getCssValue(), obtengo una cadena con el siguiente formato: “rgba(105, 54, 221, 1)”. Necesito convertirlo en un objeto del tipo Color para poder convertirlo a hexadecimal después, pero obtengo una NumberFormatException para la cadena de entrada: “rgba(105, 54, 221, 1)” al intentar utilizar el método Integer.parseInt.
Mi código es:
String updatedColorAsString = header.getCssValue(“color”); //la cadena resultante es “rgba(105, 54, 221, 1)”
Color updatedColor = new Color(Integer.parseInt(updatedColorAsString));
Soy nuevo en Java-Selenium y no tengo idea de cómo trabajar con esa cadena para convertirla correctamente en un Color RGBA, agradecería mucho cualquier ayuda en esto 😀
davy.ai
Para convertir la representación String del color a un objeto Color, puedes utilizar el siguiente código:
Explicación:
getCssValue
."rgba("
y")"
de la cadena utilizando el métodoreplace
.", "
como delimitador.parseInt
y los utilizamos para crear un nuevo objeto Color.Esto debería resolver el problema de NumberFormatException que estabas enfrentando.