Как преобразовать значение RGBA в текст, читаемый человеком - PullRequest
0 голосов
/ 02 октября 2019

Нужно найти цвет кнопки в удобочитаемом формате. Код возвращает значение rgba

Вот мой код:

WebElement findbuttonColor = driver.findElement(By.id("color"));
String color = findbuttonColor.getCssValue("background-color"); 
System.out.println("Button color is :"+color);

Ответы [ 3 ]

0 голосов
/ 02 октября 2019

Цвет элемента (Цвет фона элемента) можно получить следующим образом:

element.getCssValue("background-color");

Цвет текста / заголовка элемента можно получить следующим образом:

element.getCssValue("color");

Например, если выхочу получить фон и цвет текста кнопки «Войти» для LinkedIn, код выглядит следующим образом:

driver.get("https://www.amazon.com/");
String buttonColor = driver.findElement(By.id("searchDropdownBox")).getCssValue("background-color");
String buttonTextColor = driver.findElement(By.id("searchDropdownBox")).getCssValue("color");
System.out.println("Button color: " + buttonColor);
System.out.println("Text color " + buttonTextColor);
0 голосов
/ 02 октября 2019

Когда вы делаете getCssValue (), он возвращает значение RGB. Вы можете преобразовать его в гекс, используя ниже backgroundColor = element.getCssValue ("background-color");Color.fromString (backgroundColor) .asHex ();

возвращает шестнадцатеричный код, например, "# def3ff". Позже вы можете сравнить его с вашим доступным шестнадцатеричным кодом в вашем css.

Assert.assertEquals (def3ff, ExpectedHexCode);

Примечание. Вы можете получить шестнадцатеричный код вашего элемента, проверив его> Стили. Для получения подробной информации см. Скриншот ниже как получить Hexcode от Спасибо,

0 голосов
/ 02 октября 2019

Я не уверен, что означает читаемый человеком формат, есть миллионы цветов, которые можно установить для элемента. Далеко не все из них имеют такие имена, как зеленый , синий , красный и т. Д.

Вы получаете значение в rgba, потому что дизайнерустановите значение в rgba. То, что вы могли бы сделать, это определить структуру, которая бы отображала некоторые хорошо известные цветовые коды в rgb (даже без учета альфа-канала), чтобы вы могли обозначить «читабельный» формат этой карты.

Вот пример, который может дать подсказку: Преобразование значений RGB в имя цвета

...