这是我的代码,后退导航无法正常工作,因为即使我等了2秒,屏幕截图也与之前相同。
phantom.casperPath = "/Users/manoj/apply_robots/casjs/casperjs";
phantom.injectJs(phantom.casperPath + "/bin/bootstrap.js");
phantom.injectJs("/Users/manoj/apply_robots/jquery/jquery-2.1.4.min.js");
var utils = require('utils');
var fs = require('fs');
var a;
var flag = 1;
var casper = require('casper').create();
casper.userAgent("Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16");
var x = require('casper').selectXPath;
casper.start('https://piedmont.taleo.net/careersection/2/moresearch.ftl?lang=en',function(){
casper.page.injectJs('/Users/manoj/apply_robots/jquery/jquery-2.1.4.min.js');
this.echo(this.getTitle());
this.evaluate(function() {
document.querySelector('#requisitionListInterface\\.dropListSize').selectedIndex = 4;
return true;
});
this.wait(3000,function(){});
});
casper.then(function(){
this.thenClick(x('//*[@id="requisitionListInterface.pagerDivID4117.Next"]')).then(function() {
this.wait(2000,function(){
this.capture("i1.png");
});
});
});
casper.then(function () {
this.echo("inside back");
this.back();
this.wait(3000,function(){
this.capture("i3.png");
});
});
casper.then(function(){
this.thenClick(x('//*[@id="requisitionListInterface.pagerDivID4117.Next"]')).then(function() {
this.wait(2000,function(){
this.capture("i5.png");
});
});
});
答案 0 :(得分:2)
有时需要执行两次back()
调用才能使其正常工作:
casper.back().back();
我不知道为什么会这样,但它可能与重定向有关,这意味着当调用back()
时,前一页面被加载只是重定向到页面的地方back()
被召唤了。再次调用back()
会在重定向页面之前加载页面。