problema con phantomjs


24 de Diciembre del 2019

Hola,

Tengo un error con phantomjs, simplemente quiero obtener los datos de la página, funciona bien con otras páginas.

Al tener en la página "<body onload='loadData()'>", me dice "Can't find variable: loadData y me señala la línea del body onload como error, naturalmente no llega a leer los datos y no obtengo nada.

loadData() es una función (relevante) que obtiene los datos.

Código de la página no modificable:

<html>
<head>
<title>Headless remote debugging</title>
<style>
</style>
<script>
const fetchjson = (url) => fetch(url).then(r => r.json());
function loadData() {
const getList = fetchjson("/json/list");
const getVersion = fetchjson('/json/version');
Promise.all([getList, getVersion]).then(parseResults);
}

function parseResults([listData, versionData]){
const version = versionData['WebKit-Version'];
const hash = version.match(/s(@(b[0-9a-f]{5,40}b)/)[1];
listData.forEach(item => appendItem(item, hash));
}

function appendItem(item, hash) {
let link;
if (item.devtoolsFrontendUrl) {
link = document.createElement("a");
var devtoolsFrontendUrl = item.devtoolsFrontendUrl.replace(//devtools//,'');
link.href = https://chrome-devtools-frontend.appspot.com/serve_file/@${hash}/${devtoolsFrontendUrl}&remoteFrontend=true;
link.title = item.title;
} else {
link = document.createElement("div");
link.title = "The tab already has active debugging session";
}

var text = document.createElement("div");
if (item.title)
text.textContent = item.title;
else
text.textContent = "(untitled tab)";
if (item.faviconUrl)
text.style.cssText = "background-image:url(" + item.faviconUrl + ")";
link.appendChild(text);

var p = document.createElement("p");
p.appendChild(link);

document.getElementById("items").appendChild(p);
}
</script>
</head>
<body onload='loadData()'>
<div id='caption'>Inspectable WebContents</div>
<div id='items'></div>
</body>
</html>

Gracias