@michellie

Как дебажить Phantomjs?

Пытаюсь автоматизировать браузер на сервере.
Возникло пару вопросов.
Не понятно совершенно как вести на нем разработку. Скрипт запускается и все. Ни ошибок, ни результата, ничего. Как получить хоть какой то ответ и ошибки с фантома?
<?php
$output = shell_exec('phantomjs /usr/local/share/phantomjs-2.1.1-linux-x86_64/examples/instagram_reg.js');
echo "<pre>$output</pre>";
?>

"use strict";

var webpage=require('webpage'); 
var fs=require('fs'); 
var system=require('system'); 

var page=webpage.create(); 
var url="https://www.instagram.com"; 

var useragent = [];
useragent.push('Opera/9.80 (X11; Linux x86_64; U; fr) Presto/2.9.168 Version/11.50');
useragent.push('Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25');
useragent.push('Opera/12.02 (Android 4.1; Linux; Opera Mobi/ADR-1111101157; U; en-US) Presto/2.9.201 Version/12.02');


page.settings = { 
  loadImages: false, 
  javascriptEnabled: true, 
  userAgent: useragent[Math.floor(Math.random() * useragent.length)], 
}; 

page.onResourceRequested = function(requestData, request) {
  if ((/http:\/\/.+?\.css$/gi).test(requestData['url'])) {
    request.abort();
  }

page.onError = function (msg, trace) {
    console.log(msg);
    trace.forEach(function (item) {
        console.log('  ', item.file, ':', item.line);
    });
};

var page = require('webpage').create(); 
phantom.cookiesEnabled = false; 

page.open("https://www.instagram.com", function(status) { 

  if (status === "success") { 
   page.injectJs('//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js');
    page.evaluate(function() { 
        $('form div:nth-child(2)').find('input').value = "dqwqwqwdqwt@qq.ru"; 
        $('form div:nth-child(3)').find('input').value = "Merylyn Maccaine";
        $('form div:nth-child(4)').find('input').value = "Michaellir77";
        $('form div:nth-child(5)').find('input').value = "ein4";
        $('form div:nth-child(5)').find('button').click(); 
    }); 
  


window.setTimeout(function() { 
     

    phantom.exit();    
    
    }, 5000); 
     
     
  } 
   
   
   
});
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
@forspamonly2
фантом умер. используйте вместо него headless chrome с каким-нибудь puppeteer. а для отладки запускайте хром с гуём.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы