我正在写一个casperjs脚本。它提取span标记的文本,该内容由knockoutjs data-bind创建。我的代码在windows上完美运行,但它不适用于linux(在debian或ubuntu上)。如果我在txt文件中编写this.getHTML(),则不会在DOM中加载所有数据绑定元素。它们仅在脚本标记中显示为数组。 我的幻影版本是2.1.1。我曾尝试使用Casperjs 1.1.0-beta3和主分支,但没有成功。有人能帮我吗?我需要使用debian os。
HTML标记
<span class="product-name" data-bind="visible: nameLabelVisible(),
text: selectedNameLabel(), css: { disabled: isDisabled }">Dog</span>
Casperjs Script
var url='http://exampleurl.com';
var selector='span.product-name';
var casper = require('casper').create({
pageSettings: {
webSecurityEnabled:false,
loadImages: true,
loadPlugins: true,
javascriptEnabled: true
},
});
casper.start(url);
casper.wait(5000);
casper.then(function(){
var texto = this.evaluate(function(selector){
var s = document.querySelector(selector).innerHTML;
return s;
}, selector);
this.echo("result: " + texto);
});
casper.run(function() {
this.exit();
});
结果:
result: null