Here is the corrected code. You were mixing up the "sl" and "ph" variables before. Also I threw in a default call to setting up the path to slimerJs since users will likely want that one.
var slimer = require('node-slimerJs');
slimer.create(function(err,sl) {
return sl.createPage(function(err,page) {
return page.open("http://tilomitra.com/repository/screenscrape/ajax.html", function(err,status) {
console.log("opened site? ", status);
page.includeJs('http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js', function(err) {
//jQuery Loaded.
//Wait for a bit for AJAX content to load on the page. Here, we are waiting 5 seconds.
setTimeout(function() {
return page.evaluate(function() {
//Get what you want from the page using jQuery. A good way is to populate an object with all the jQuery commands that you need and then return the object.
var h2Arr = [],
pArr = [];
$('h2').each(function() {
h2Arr.push($(this).html());
});
$('p').each(function() {
pArr.push($(this).html());
});
return {
h2: h2Arr,
p: pArr
};
}, function(err,result) {
console.log(result);
sl.exit();
});
}, 5000);
});
});
});
}, {slimerPath: "C:\\absolute\\path\\to\\slimerjs\\lib\\slimer\\SLIMER_EXECUTABLE_HERE" });
Here is the corrected code. You were mixing up the "sl" and "ph" variables before. Also I threw in a default call to setting up the path to slimerJs since users will likely want that one.