关于iframe加载的PhantomJS bug /问题

时间:2017-06-02 19:12:36

标签: javascript iframe web-scraping phantomjs casperjs

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获取数据?

0 个答案:

没有答案