2017-10-27 10 views
1
var webpage = require('webpage').create(); 
var filename = 'demo.png'; 
webpage.open('https://www.example.com/', function() {  
webpage.render(filename); 
phantom.exit();}); 

上記のコードでは、サンプルWebサイトが読み込まれると、ブートストラップポップアップが表示されます。今はファントムjsで私はポップアップなしでWebページのスクリーンショットを撮りたいです。あなたが/非表示のスクリーンショットを作成する前に、モーダルをオフにする必要がありブートストラップモーダルポップアップを隠す

答えて

1

.. phantomjsを通してこのポップアップを非表示にするにはどのように私を助けてください:

var page = require('webpage').create(); 
var filename = 'demo.png'; 
page.open('https://www.example.com/', function() {  

    // Delay script by a second to give 
    // javascript some time to load and execute modal 
    setTimeout(function(){ 

     page.evaluate(function(){ 
      // You'll need to find the modal id to hide it programmatically 
      $('#themodal').modal('hide'); 
     }); 

     page.render(filename); 

     phantom.exit(); 
    }, 
    1000); 

}); 

もう一つの方法は、単にDOMからモーダルウィンドウの要素を削除することです:

 page.evaluate(function(){ 
      // These classes are for Bootstrap 4 
      $('.modal, modal-backdrop').remove(); 
     }); 
+0

あなたのresposneに感謝します。しかし、上記のコードはまだ動作していません。表示されたポップアップを見ることができます。私も8秒にタイムアウトを増加しているが、ポップアップが表示されます。私が行方不明になっている可能性がある他の設定がありますか? –

+0

例の「#themodal」をターゲットサイトのモーダルの実際のIDに置き換えましたか? – Vaviloff

+0

はい、私はまた、Webページの種類にページが更新されましたが、運がありません –

関連する問題