如何检查几个元素中是否存在一个

How to check if one of several elements exists?

本文关键字:是否 存在 一个 元素 几个 检查 何检查      更新时间:2023-09-26

如何检查其中一个元素是否存在?

我知道有一个函数assertExists,但它只检查一个特定的元素。我需要检查页面上是否存在三个元素中的一个(例如,我有一个登录链接,对于不同的网站,它属于不同的类别,但通常我可以将这些网站分为三类)。assertExists中是否可以插入任何"和/或"条件?

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个或更多选择器。