У меня проблема: мне нужно выполнить скрипт phantomjs в java-программе, но я не могу. это код сценария:Выполнение скрипта phantomjs в java-программе
var page = require('webpage').create();
page.open('http://stackoverflow.com',function(status){
if(status !== 'success'){
console.log('Open failed');
}else{
console.log(page.evaluate(function(){
return document.documentElement.outerHTML;
}));
}
phantom.exit();
});
На практике, я хочу, чтобы выполнить JavaScript веб-страницы и после того, как взять HTML равнодействующую. Я попытался с кодом по этой ссылке Running Phantomjs from javascript, JSP or Java но моя программа блокируется на этой линии
int exitStatus = process.waitFor();
, что я могу сделать, чтобы решить эту проблему ??
Благодаря
Вы работаете под UNIX-подобной ОС? Установили ли вы PhantomJS и скрипт в/usr/bin? –
Вывод скрипта phantomjs потенциально длинный - дольше, чем размер буфера Java BufferedReader. Таким образом, вы попадаете в ловушку, которую блокирует ваш скрипт phantomjs, потому что вы не читаете его вывод, а буфер заполнен. Проверьте это для деталей: http://stackoverflow.com/questions/5483830/process-waitfor-never-returns – Miichi
yes Я под UNIX-системой (Ubuntu), phantomjs установлен, и скрипт находится в том же каталоге. –