PhantomJS挂起iframe加载。
var casper = require('casper').create({
waitTimeout: 5000,
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.then(function() {
this.page.switchToChildFrame(0);
});
casper.then(function() {
this.echo('Page url is ' + this.getCurrentUrl());
this.waitForSelector('.y-main-container');
});
casper.run();
如果我等待很长时间只是为了捕获整页的屏幕,而不对iframe进行任何操作,结果显示该iframe的空白容器,其中心有进度图标。
var casper = require('casper').create({
waitTimeout: 5000,
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.then(function() {
this.wait(120000, function() {
this.echo("Waiting complete.");
});
});
casper.then(function() {
this.capture('screen.png');
});
casper.run();
所以,很明显PhantomJS只是无法加载iframe源代码,因此对它进行进一步的操作是没用的,因为iframe加载会挂断。 这是PhantomJS的bug /问题吗? 如何正确地从这个网页上的iframe获取数据?