Мне нужно знать, существует ли конкретное событие календаря (идентифицированное по имени человека, записи и времени (например, Билл Уильямсон, запись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++;
}
Код: Выделить всё
// 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))));
Код: Выделить всё
8a
[i]
::before
[/i]
Bill Williams
10a
[i]
::before
[/i]
Bill Williams
10a
[i]
::before
[/i]
Bill Williams
11a
[i]
::before
[/i]
Bill Williams
Подробнее здесь: https://stackoverflow.com/questions/792 ... d-elements