Casperjs检查xpath是否存在

时间:2014-01-27 18:00:20

标签: javascript xpath phantomjs casperjs

好的,有人可以帮助我,我是casperjs的新手,到目前为止,stackoverflow令人惊叹,这里的人们非常乐于助人。

最后让我的脚本工作并使其回显html我想添加一个新功能,并需要帮助我将如何做。

基本上不是回显html了。

我想查看xpath是否存在,如果我想要它回显

you still have minutes 

如果它不存在echo

no minutes left 

这是我要检查的xpath

 /html/body/div/div[3]/div[2]/div/div/table/tbody/tr[2]/td[2]

任何人都可以向我展示一个可以做到这一点的简单功能

我的功能

// Wait 2 sec then write to txt file
casper.wait(9000, function() {
//this.echo(this.getHTML());
//this.echo(this.getCurrentUrl());
this.fill('form[name="LoginForm"]', {
'username': 'test',
'password': 'test'
}, true);
});

2 个答案:

答案 0 :(得分:0)

这样的东西?我根据您提供的代码进行了修改。

casper.start('http://yoursite.tld/', function() {
    // Wait 2 sec then write to txt file
    this.wait(9000, function() {
        //this.echo(this.getHTML());
        //this.echo(this.getCurrentUrl());
        this.fill('form[name="LoginForm"]', {
            'username': 'test',
            'password': 'test'
        }, true);

        if(this.exists('/html/body/div/div[3]/div[2]/div/div/table/tbody/tr[2]/td[2]')) {
            console.log('you still have minutes');
        }
        else {
            console.log('no minutes left');
        }
    });

});

casper.run();

答案 1 :(得分:0)

好吧所以不是xpath我还原到css选择器继承人我是如何解决我的问题的

 if (this.exists('div.box_pink div.inner p')) {
 this.echo('the css selector exists'); } else { 
 this.echo('the css selector dont exist'); 
 } 
 });