Определение менющегося цвета текста раздела при алерте JavaScript

Теги: #<Tag:0x00007f73846ba018> #<Tag:0x00007f73846b9f50> #<Tag:0x00007f73846b9e10> #<Tag:0x00007f73846b9d48> #<Tag:0x00007f73846b9c08> #<Tag:0x00007f73846b9988>

Дано: есть боковое меню из нескольких разделов. Есть кнопка проверки. При нажатии данной кнокпи и появлении некорретных сведениях в одном или нескольких разделах текст раздела становится красным (см. верхний color на рис. #24442). Надо получить данный цвет.
Предположим, в Разделе1 ошибка и он красный. Я использ
image_2021-10-14_12-35-31
ую .getCssValue(“color”) и при этом мне возвращается черный цвет (на рис. он ниже #363636)
public void colorTest() {
WebElement colorErr = driver.findElement(By.xpath("//*[text()=‘Раздел1’]"));
System.out.println(colorErr.getCssValue(“color”));

    }

Что делать? Понимаю, что тут что-то связано с JavaScript, но хотя бы в каком направлении копать? Буду благодарна за любую информацию: ролики, статьи.

Вам нужно правильно найти элемент цвет которого будете определять, в вашем случае
у элемента By.xpath("//*[text()=‘Раздел1’]") таки черный цвет, посторойте правильный локатор к элементу.

Вот смотрите, есть боковое меню типа:
Раздел 1
Раздел 2
Раздел 2

Раздел №№

Все, кроме раздела 1 (он красный), черное (после проверки). Но colorErr.getCssValue(“color”) выдает мне черный цвет! Я специально скрин css этого элемента приложила (там черный зачеркнут). Не понимаю, что я делаю не так.

Покажите скриншот страницы с текстом который красный.
Вы на 100 проц. уверены что локатор By.xpath("//*[text()=‘Раздел1’]") находит именно тот элемент который вы ищете и никакой другой ?
Может быть вы слишком быстро берете значение и он не успевает стать красным ?

правка
test изменила скрин, чтобы “не палить контору”

Про слишком быстро - это мысль, завтра попробую ожидание воткнуть и отпишусь по результату. Спасибо.

Я вижу на вашем скриншоте красным “Операторы ГИС” и черным “Операторы ГИС”
Пишите более точные локаторы потомучто
By.xpath("//*[text()=‘Операторы ГИС’]") находит вам черный элемент.

List <WebElement> elements = driver.findElements(By.xpath("//*[text()=‘Операторы ГИС’]"))
Сделайте вот так и посмотрите сколько элементов в списке, 99.9% там окажется их больше одного

спасибо, проверю

Вы умница!!!
Я воткнула ожидание и все получилось!!!
Спасибо!!!1

1 симпатия