Как проверить, существует ли один из нескольких элементов?

77
8

Как проверить, существует ли один из элементов?

Я знаю, что существует функция assertExists, но она проверяет только один конкретный элемент. Мне нужно проверить, существует ли один из трех элементов на странице (например, у меня есть ссылка для входа, которая имеет разные классы для разных сайтов, но обычно я могу группировать эти сайты в трех категориях). Есть ли какие-либо условия и/или условия, которые могут быть вставлены в assertExists?

спросил(а) 2021-01-25T17:29:49+03:00 4 месяца, 4 недели назад
1
Решение
63

Для этого вам всегда нравится несколько способов использования CasperJS.

Самый универсальный способ - использовать casper.exists:

test.assert(casper.exists("selector1") || casper.exists("selector2")); // 1
test.assert(casper.exists("selector1") && casper.exists("selector2")); // 2

Затем вы можете использовать , чтобы объединить два селектора CSS или | для двух выражений XPath, что делает как операцию OR

test.assertExists("selector1, selector2");
test.assertExists(x("selector1 | selector2"));

Если вы хотите использовать оператор AND между селекторами, вы можете просто разбить его на два утверждения, потому что вы тестируете, и один из них не работает:

test.assertExists("selector1");
test.assertExists("selector2");

Я использовал только два селектора, но это также работает одинаково для 3 или более селекторов.

ответил(а) 2021-01-25T17:29:49+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема