Javascript 如何在CasperJS';评价函数

Javascript 如何在CasperJS';评价函数,javascript,phantomjs,casperjs,Javascript,Phantomjs,Casperjs,我们可以在casper.evaluate函数中使用document.querySelector。但是我找不到任何说明在evaluate函数中使用XPath选择器的文档。有可能这样做吗?如果是,那么如何实现?基本上所有浏览器都支持XPath-through。PhantomJS也这样做(XPath1.0) CasperJS提供了一些方便的函数来使用它。在页面上下文中(在casper.evaluate())有两个函数和 此示例打印它找到的具有href属性的第一个元素的href: casper.echo

我们可以在
casper.evaluate
函数中使用
document.querySelector
。但是我找不到任何说明在evaluate函数中使用XPath选择器的文档。有可能这样做吗?如果是,那么如何实现?

基本上所有浏览器都支持XPath-through。PhantomJS也这样做(XPath1.0)

CasperJS提供了一些方便的函数来使用它。在页面上下文中(在
casper.evaluate()
)有两个函数和

此示例打印它找到的具有
href
属性的第一个
元素的href:

casper.echo(casper.evaluate(function(){
    return __utils__.getElementByXPath("//a[@href]").href
}));
CasperJS还支持页面上下文之外的XPath表达式,并带有一个帮助函数:

var x = require("casper").selectXPath;
这使大多数CasperJS函数能够使用XPath表达式而不是CSS选择器:

casper.echo(casper.getElementAttribute(x("//a[@href]"), "href"));
这与上面的示例类似,但不同,因为元素属性和属性之间存在差异