'use strict';
var casper = require('casper').create({verbose: true, logLevel: 'debug'});
var element = '/html/body/div[7]/nav/div[5]/div/div/div[2]/div[1]/form';
casper.start('http://store.nike.com/us/en_us/', function () {
if(this.exists(element)) this.echo('Found it!');
});
casper.run(function() {
this.exit();
});
好的,所以这段代码片段尽可能简单。我启动了一个新的CasperJS实例,GET http://store.nike.com/us/en_us/
,如果找到一个元素则回显,然后退出。现在,我似乎无法理解的是,为什么在世界上上面的代码没有找到该元素(XPath),但如果我加载Chrome开发者工具,我可以CTRL-F它。当我用CSS Path代替XPath时,结果相同。有谁能请赐教?我错过了什么?
答案 0 :(得分:2)
您需要使用CasperJS的XPath实用程序,因为element
是XPath表达式而不是CSS选择器。
var x = require('casper').selectXPath;
casper.start('http://store.nike.com/us/en_us/', function () {
if(this.exists(x(element))) this.echo('Found it!');
});