“TypeError: 'null' ist kein Objekt (Bewertung " ein.nodeType')" in phantomjs
Ich habe folgenden code in meinem phantomjs script:
var page = new WebPage(), testindex = 0, loadInProgress = false;
page.onConsoleMessage = function(msg) {
console.log(msg);
};
page.onLoadStarted = function() {
loadInProgress = true;
console.log("load started");
};
page.onLoadFinished = function() {
loadInProgress = false;
console.log("load finished");
};
var steps = [
function() {
console.log("Load Login Page");
//spoof user-agent
page.settings.userAgent = "'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0';";
page.open("https://login.XXX.com");
},
Zunächst schien dies zu funktionieren. Jetzt bin ich immer die folgende Fehlermeldung und der login funktioniert nicht:
"TypeError: 'null' is not an object (evaluating 'a.nodeType')".
Hat jemand begegnet das? Jede Idee, wie es zu lösen ist?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erste, was zu tun ist : überprüfen Sie die Quelle dieser Fehler.
Etwas, das war nicht klar für mich, wenn ich begann, in PhantomJS, ist, dass standardmäßig "Fehler" die das Skript enthält die Kompilierung/Ausführung Fehler und auch die Seite treten javascript-Fehler auf.
Vor allem, Sie haben einen Rückruf auf onConsoleMessage, also vielleicht der Fehler kommt von der Seite.
Grundsätzlich, wenn es eine nicht behandelte Fehler, PhantomJS gelangt in einen ungültigen Zustand und die Ausführung Stoppt.
Müssen Sie fügen Sie einen handler Webseite.onerror auf phantom.onerror.