Ich bin ein Neuling, vor kurzem begonnen, Phantomjs mit Casperjs zu verwenden. Ich möchte Informationen von einem iframe erhalten, aber phantomjs lädt sie nicht.Phantomjs kann iframe nicht laden
Das ist mein Skript:
var casper = require('casper').create({
verbose: true,
logLevel: "debug",
waitTimeout: 20000,
retryTimeout: 100,
viewportSize: {
width: 1920,
height: 1080
},
pageSettings: {
"userAgent": 'Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.41 Safari/535.1'
},
localToRemoteUrlAccessEnabled: true
});
casper.start();
casper.open('http://www.badboysbarber.ru/online');
casper.waitForSelector('.y-main-container', function() {
this.echo("Selector appeared.");
});
casper.then(function() {
this.capture('screen.png');
});
casper.run();
So Phantom einen Fehler wirft (obwohl Selektor definiert ist richtig):
[error] [phantom] Wait timeout of 20000ms expired, exiting.
Könnte jemand mir bitte helfen? Vielleicht mache ich etwas falsch? Vielen Dank.
Sorry, aber selbst wenn Sie withFrame Funktion verwenden, schlägt es ein iframe zu laden. Versuchen Sie einfach 'this.captureSelector ('selector.png', '.y-main-container');' anstelle von 'this.echo (this.getHTML());' mit der Funktion Frame zu verwenden, und Sie werden sehen. Das ist das ganze Problem. –
Außerdem können Sie [this topic] (https://groups.google.com/forum/#!topic/casperjs/AtbXjGnp7M0) ebenfalls ansehen. –
Wenn Sie den HTML-Code bekommen können, ist der 'iframe' offensichtlich geladen. Sie haben nur ein Problem mit "Capture". Ich habe 'this.capture ('screenshot.png');' in 'withFrame' mit SimmerJS ausprobiert und ich kann den' iframe' sehen, nicht nur wenn SimmererJS die Seite bearbeitet, sondern auch auf dem resultierenden Screenshot: http: // imgur.com/a/gWtiY – Badacadabra