Klicken Sie auf einen link mit phantom.js und rufen Sie die html-Dokument

Ich bin neu mit phantom.js und ich bin versucht zu navigieren auf einer Webseite, klicken auf einen link (das ruft eine AJAX-Funktion und ändert das HTML-Dokument) mit phantom.js.

Hier ist mein code:

window.setTimeout(function(){
    phantom.exit();
}, 120000);

var page = require('webpage').create();

page.open("http://example.com", function(status) {
    if (status !== 'success') {
        console.log('{"error":"Unable to load the address for page"}');
        phantom.exit();
    }

    var action = page.evaluate(function() {
        document.getElementById("anID").click();
        return "clicked";
    });

    var results = page.evaluate(function() {
        return document.documentElement.innerHTML;
    });

    console.log(action);

    window.setInterval(function() {
        console.log(results);
        phantom.exit();
    }, 3000);
});

Bin ich sehr verwirrend, da in meiner "Aktion" - Funktion, mit der click () - Aufruf ist die Erhöhung, die Fehler 3 mal wiederholt:

TypeError: 'undefined' ist keine Funktion

phantomjs://Webseite.evaluate():3 phantomjs://Webseite.evaluate():1

der ph-Wert.js:121 null

TypeError: 'undefined' ist keine Funktion

phantomjs://Webseite.evaluate():3 phantomjs://Webseite.evaluate():1

der ph-Wert.js:121 null

TypeError: 'undefined' ist keine Funktion

phantomjs://Webseite.evaluate():3 phantomjs://Webseite.evaluate():1

der ph-Wert.js:121 null

Auch, wenn ich kommentieren Sie die Zeile, wenn ich senden klicken, wird die action-Funktion löst keine Fehler mehr und gibt auch das "clicked" - Konsole anmelden. Aber 3 mal...

Was mache ich falsch ?

Vielen Dank im Voraus.

  • Zur info Sie haben 2 semi-colons nach dieser Zeile: document.getElementById("anID").click();;
  • Ja danke es ist ein Fehler beim posten es hier, problem immer noch da.
Schreibe einen Kommentar