В настоящее время я пытаюсь написать исходный код страницы в текстовый файл по URL-адресу. Все работает хорошо, но я хочу дополнительно добавить файл JavaScript. Проблема в том, что файл не включается должным образом. Загружаются только последние загруженные страницы, но другие неполные.PhantomJS page.injectJs не работает
//phantomjs C:\PhantomJS\Script\test1.js
var fs = require('fs');
var numeroEpisode = 0;
var maxEpisode = 10;
var fichierLien = fs.read('C:\\PhantomJS\\Fichier\\lien.txt');
var ListeLien = fichierLien.split(/[\n]/);
var page = require('webpage').create();
function GetPage()
{
if (numeroEpisode > maxEpisode)
{
phantom.exit();
}
page.open(ListeLien[numeroEpisode], function(status)
{
if(status !== 'success')
{
console.log('Impossible de charger la page.');
}
else
{
console.log('URL: '+ListeLien[numeroEpisode]+'');
page.injectJs('http://mylink.com', function() { });
var path = 'C:\\PhantomJS\\Fichier\\episode_'+numeroEpisode+'.html';
fs.write(path, page.content, 'w');
setTimeout(GetPage, 15000); // run again in 15 seconds
numeroEpisode++;
}
});
}
GetPage();
Мне нужно использовать injectJs, потому что файл и внешне, я хочу как-то изменить сайт, чтобы включить исходный код, который отличается по-разному. У меня все еще такая же проблема, первые страницы не загружаются полностью, может быть, что страницы загружаются и слишком быстро? Есть ли функция, ожидающая загрузки страницы перед другой загрузкой? В любом случае, спасибо за всю помощь, которую вы мне дали! – Culvanen
Затем вам необходимо загрузить файл на свой компьютер. Только тогда вы можете использовать 'page.injectJs()'. Вы можете подождать еще немного с 'page.includeJs ('http://mylink.com', function() {setTimeout (function() {var path ...}, 5000)});' –
Я прихожу на тест с includeJs и он работает, но проблема с страницей загрузки всегда здесь – Culvanen