使用casperjs检查元素

JRR*_*JRR 4 javascript dom css-selectors phantomjs casperjs

我试图使用casperjs来检查DOM中是否存在以下元素:

<b>Bar</b>
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以使用选择器和casper.exists?casperjs文档使其非常不清楚.

Bol*_*ock 7

基本用法casper.exists()是传递一个选择器字符串,它将返回true或false以指示是否找到任何元素匹配该选择器.

但是,在你的情况下,唯一能找到这个元素的实用选择器是b,所以如果你专门寻找b包含这个文本的元素,那么你需要指定某种形式的上下文(例如父元素),或者使用XPath测试此元素的存在,这允许您通过文本内容测试元素:

var x = require('casper').selectXPath;

if (casper.exists(x('//b[text()="Bar"]'))) {
    // <b>Bar</b> exists
}
Run Code Online (Sandbox Code Playgroud)