Найти элемент с определенными дочерними элементамиJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Найти элемент с определенными дочерними элементами

Сообщение Anonymous »

Я использую Selenide 7.5.1. и Java 20.
Мне нужно знать, существует ли конкретное событие календаря (идентифицированное по имени человека, записи и времени (например, Билл Уильямсон, запись1, 10a)) в наборе элементов. (см. ниже).
Я пробовал использовать цикл for для поиска по всем событиям календаря, сопоставляя подэлементы, но это головная боль и противоречит рекомендуемой практике Selenide (т.е. : не запрашивайте элементы для получения информации.) Я полагаю Должен быть лучший способ.

Код: Выделить всё

        boolean found = false;
int index = 0;
for (SelenideElement element : $$(eventList)) {
// Check methods of Selenide's Condition class.
// Find the element that has ce-eventType in the class of a sub-element,
//   a span.fc-title with the person's name, and a span.fc-time with the correct time.
if (element.$("class.ce_basicentry").exists() &&
element.$("span.fc-time").getText().equalsIgnoreCase(startTime) &&
element.$("span.fc-title").getText().equalsIgnoreCase(apuName)) {
found = true;
break;
}
index++;
}
Я также пытался собрать что-то вроде WebElementCondition, используя mustHave, но не знаю, как создавать условия, включающие подэлементы.

Код: Выделить всё

// This doesn't work.
$("dif.fc-event-container").shouldHave(allOf($("a").shouldHave(cssClass(eventType.name())),
$("span.fc-time").shouldHave(exactText(startTime)),
$("span.fc-title").shouldHave(exactText(apuName))));
Вот раздел DOM, который я ищу.

Код: Выделить всё



8a

[i]
::before
[/i]
Bill Williams





10a

[i]
::before
[/i]
Bill Williams





10a

[i]
::before
[/i]
Bill Williams





11a

[i]
::before
[/i]
Bill Williams




Есть ли хороший способ сделать это, или я ограничен использованием цикла for и циклическим перебором элементов привязки?

Подробнее здесь: https://stackoverflow.com/questions/792 ... d-elements
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»