Casperjs不安全JavaScript尝试使用URL访问具有以下URL的帧:空白来自带有URL的帧

时间:2015-09-15 09:30:39

标签: phantomjs casperjs

casper.on("page.initialized", function(casp){
   this.echo("Initialized...");
   casper.evaluate(function(){     window.sessionStorage.setItem('authorization','xxxxxxx');
     window.sessionStorage.setItem('_USER','xxxxx');
     window.sessionStorage.setItem('USERNAME','xxxxx');
     window.sessionStorage.setItem('INTERNAL','xxxx');
   }); 
 }; 


  casper.test.begin('1: Asserting casperjs is working', 2, function suite(test) {
      test.assertEquals(true, true);
      test.assert(true);
      test.done();
  });

 casper.test.begin('starting at /', 5, function suite(test
   var starting = Date.now();

   casper.start();

   casper.open("xxxxx",function() {
     test.assertHttpStatus(200);
     var session = this.evaluate(function(){
      return JSON.stringify(window.sessionStorage);
      }); 
     this.echo("SESSION: ", session);
   }); 

   casper.then(function(){
     this.wait(10000, function(){this.echo("WAITED!");});
     this.echo(this.getHTML('body'));
     try{
       casper.waitFor(function check() {
         return this.evaluate(function() {
             var quotes = document.getElementById('quoteBody').children.length > 1;
             this.echo("QUOTES", quotes);
              return true;
           }); 
       }, function then() {
         // ending timer
         var ending = Date.now();
         var totalt = (ending - start) / 3600;
         test.assertFalsy(function(){
           return totalt >= 10.0;
         }, "loading asserting total time passed");
         this.echo("total time: ", totalt);
         // tests
         test.assertEval(function(){
           return document.querySelectorAll('#quotesBody tr').length > 1;
         }); 
         //this.echo(this.getHTML('body'));
         this.assertTitle("xxxxx", "title match");
       }); 
     } catch (e){
       this.echo(e);
     }   
      }); 

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

我已经尝试将test.done()包裹在暂停中,但我无法通过无休止的Unsafe JavaScript attempt to access frame with URL about:blank from frame with URL...警告。 document.getElementById('quoteBody').children.length > 1;在浏览器中有效,但未返回true并触发waitTimeout事件。发出此事件后,我收到警告。我尝试等待的时间比10000要长得多,无法加载。我能够从@Artjom B得到一些好的建议让我的脚本开始,但这个看似常年的幻影错误是在我的日志中加入噪音而waitFor如果返回的假法不应该出现任何Unsafe错误。

修改

如果警告没有完全污染我的输出,我想我可以修复我的脚本。我试过网络安全=没有标志 - 没有工作。从1.9.8降级到幻影1.9.2?我明白1.9.8是一个小马车,很多人都有这个问题。我现在更关心如何消除噪音。

1 个答案:

答案 0 :(得分:0)

仍在寻找解决方案

recyclerview = (RecyclerView) view.findViewById(R.id.recyclerview);
layoutManager = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false);
recyclerview.setLayoutManager(layoutManager);
recyclerview.setItemAnimator(new DefaultItemAnimator());
recyclerview.setHasFixedSize(true);
recyclerview.setAdapter(adapter);

for casperJs

"phantomjs": "^1.9.9"