Skip to content

Instantly share code, notes, and snippets.

@sasezaki
Created August 11, 2013 04:50
Show Gist options
  • Save sasezaki/6203433 to your computer and use it in GitHub Desktop.
Save sasezaki/6203433 to your computer and use it in GitHub Desktop.
(draft) phantomjs cmd call server
var system = require("system")
var webserver = require("webserver")
var webpage = require("webpage")
var page = webpage.create()
var server = webserver.create()
var currentUrl;
var queries = {};
server.listen(8888, function(request, response){
var urlsplit = request.url.split("?");
console.log(urlsplit);
var cmd = urlsplit[0];
if (urlsplit[1]) {
queries = parse_query(urlsplit[1]);
console.log(queries["selector"]);
}
if (cmd == '/visit') {
currentUrl = queries["url"];
response.write('');
response.close();
} else if (cmd == '/getCurrentUrl') {
response.write(currentUrl);
response.close();
} else if (cmd == '/evaluatejs') {
} else {
if (cmd == '/click') {
page.open(currentUrl, function() {
window.setTimeout(function () {
var t = page.evaluate(function(s) {
//var ev = document.createEvent("MouseEvents");
//ev.initEvent("click", true, true);
//document.querySelector(s).dispatchEvent(ev);
console.log(document.querySelector(s));
return document.title;
}, queries["selector"]);
response.write(t);
response.close();
}, 6000);
});
}
}
});
function parse_query(queries){
var query = {};
queries.split("&").forEach(function(pair){
pair = pair.split("=").map(decodeURIComponent);
query[pair[0]] = pair[1];
})
return query;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment