2016-03-28 14 views
0

mein casperjs Klick funktioniert gut in den meisten Websites, aber wenn ich versuche, etwas auf reddit klicken, wird es nicht klicken.casperjs kann nicht auf reddit.com klicken

Die sendkeys Funktion funktioniert gut, aber beide klicken Funktion funktioniert nicht, bitte helfen!

+0

Wie wissen Sie, dass es nicht funktioniert? Ich sehe keinen Validierungscode wie Warten und Screenshotnehmen. –

+0

Welche PhantomJS-Version verwenden Sie? Bitte registrieren Sie sich für die Ereignisse 'resource.error',' page.error', 'remote.message' und' casper.page.onResourceTimeout' ([Beispiel] (https://gist.github.com/artjomb/4cf43d16ce50d8674fdf#file) -2_caspererrors-js)). Vielleicht gibt es Fehler. –

+0

hallo artjom, tut mir leid, ich habe nicht die Wartezeit und Screenshot schreiben, weil ich möchte, dass der Code leichter zu lesen. und hier ist das problem, wenn ich einen this.click starte, klickt es nicht, aber wenn ich ein keypress-ereignis "space" hinzufüge, wird der keypress auf diesen knopf klicken, was bedeutet das wirklich? –

Antwort

0

Finden Sie den Code unten und seine Arbeits

casper.test.begin("Opening Reddit page", 1, function suite(test) { 

    var x = require('casper').selectXPath;//required if we detect an element using xpath 
    casper.start(); 

    casper.viewport(1024, 768).then(function() { 
     this.open("http://reddit.com"); 
     this.wait(5000) 
    }); 

    casper.then(function() { 
     this.sendKeys("[name='user']", 'username'); 
     this.sendKeys("[name='passwd']", 'password'); 
     this.click("[id='rem-login-main']"); 
     this.click(x(".//*[@id='login_login-main']/div[3]/button")); 
    }); 

    casper.wait(5000) 

    casper.then(function() { 
     this.test.assertExists(x(".//*[@id='header-img']"), "Confirmed that page has successfully loaded"); 
    }); 

    casper.run(function() { 
     test.done(); 
    }); 
}); 
+0

Hallo prateek, ich versuchte Ihren Code, und ich fügte einen Screenshot vor casper.run hinzu, und der Wert von Benutzername und Passwort eingegeben wird, aber Es klickt nicht auf die Login-Schaltfläche. Wenn es erfolgreich geklickt wird, sollte ein falsches Passwort angezeigt werden. Würde es Ihnen etwas ausmachen, "casper.capture ('login_button.png');" und sehen, ob Ihre casperjs das falsche Passwort angezeigt werden? –

+0

Ihnen zufolge ist das Szenario, Sie geben falsches Kennwort ein und erwarten ein Pop-up! Recht?. Ändern Sie einfach Ihre Frage, damit wir das vollständige Bild bekommen können –

Verwandte Themen