Tôi có một tập lệnh phantomJS được thực hiện thông qua lệnh gọi exec()
trong tập lệnh node.js. Bây giờ tôi cần trả về một chuỗi từ tập lệnh PhantomJS để nó có thể được sử dụng lại trong nút.
Có cách nào để đạt được điều đó không?Truyền giá trị từ PhantomJS đến node.js
ứng dụng Node:
child = exec('./phantomjs dumper.js',
function (error, stdout, stderr) {
console.log(stdout, stderr); // Always empty
});
dumper.js (Phantom)
var system = require('system');
var page = require('webpage').create();
page.open(system.args[1], function (status) {
if (status !== 'success') {
console.log('Unable to access the network!');
} else {
return "String"; // Doesn't work
}
phantom.exit('String2'); //Doesn't work either
});
Cảm ơn, mặc dù tôi nên đặt lệnh gọi JSON.stringify ('kết quả') ở đâu? sau khi một statment trả về hoặc như tham số của phương thức exit (Chỉ cần thử cả hai và dường như không làm việc cho tôi) – silkAdmin
Bạn thực sự không cần sử dụng JSON nếu bạn chỉ muốn truyền một chuỗi. Tôi khuyên bạn nên sử dụng JSON vì bạn có thể muốn làm nhiều hơn nữa. Nếu bạn đang sử dụng PhantomJS để xóa dữ liệu, bạn có thể muốn chia sẻ nhiều nội dung. – 3on
ok cảm ơn một lần nữa, mà thực sự hoạt động, những gì nhầm lẫn tôi là comming hình thức bên trình duyệt, tôi dự kiến console.log để chỉ có một cách để đổ dữ liệu thông tin chứ không phải là một cách để thực sự trở lại công cụ .. – silkAdmin