ASP.NET - Problemas con phantomjs

 
Vista:

Problemas con phantomjs

Publicado por pedro (2 intervenciones) el 24/12/2019 21:53:11
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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problemas con phantomjs

Publicado por miguelZ (24 intervenciones) el 26/12/2019 23:03:35
Revisa que tus funciones esten bien declaradas, ejemplo

link.href deberia ser una cadena de texto

algo as
link.href = 'https://chrome-devtools- ...';
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas con phantomjs

Publicado por pedro (2 intervenciones) el 28/12/2019 01:48:20
Hola, la página WEB (el código que inserto más arriba) no se puede modificar, la crea Google.

Solamente puedo modificar el script realizado con phantomJs. Quiero obtener la respuesta de los datos de la página.

Por favor, alguien puede ayudarme?

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar