2017-05-23 2 views
0

Ich kann Ajax nicht mit Knopfdruck mit PhantomJS erfassen. Ich habe eine Webseite, in der sich ein Textfeld und eine Schaltfläche befinden. Wenn auf der Webseite ein Körper einen Produktnamen eingibt und auf die Schaltfläche klickt, wird eine Ajax-Anfrage ausgeführt und die Top 100 Product sell an die Kundenliste gesendet.Behandlung von Ajax-Anfragen mit PhantomJS

Aber wenn ich versuche, die Webseite mit PhantomJS zu erfassen, kann ich sowohl im Screenshot als auch im Inhalt der Rückseitenseite keine AJAX-Daten abrufen.

var page = require("webpage").create(); 
page.open("localhost://mywebsite/Product.html", function (status) { 
if (status === "success") { 
    //console.log('Successfully'); 
    page.includeJs("https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js", function() { 
    page.render("before_submit.png"); 

    page.evaluate(function() { 
     $('#txtProduct').val('TCS'); 
     $('#btnGet').click(); 
    }); 
}); 
    page.render("after_submit.png"); 
    console.log(page.content); 
    phantom.exit(); 
} else { 
    console.log('Unable to connect'); 
} 
}); 
+0

Sind Sie sicher, dass dieser Weg richtig ist 'localhost: // mywebsite/Produkt. html' – Hackerman

+0

Ja, ich habe die Anwendung in meinem lokalen IIS bereitgestellt – developer

Antwort

1

gerade getestet, page.open erfordert URL-Protokoll, so dass Sie http hinzufügen: //

page.open("http://localhost://mywebsite/Product.html", ...