2017-05-15 7 views
-1

私が直面している問題について助けが必要であり、確かにnode-horsemanがそれに対応できます。Horseman.js - > handling window.confirm

私は "window.confirm"アラートを受け入れようとしており、成功していない多くのことを試しました。基本的には、ボタンをクリックした後、馬を使って確認メッセージを「受け入れる」ことができるようにしたい。

.AT(イベント、コールバック)コールバックのページイベントに 応答します

ドキュメントを通って行く、私はこれを見つけました。

TypeError: horseman.at is not a function 

私は何を:私はどの.open

horseman 
    .at('confirm', function(msg) { 
     return msg === 'Do you accept?' ? true : false; 
    }) 

前にこのような.ATを、置くとき

.at('confirm', function(msg) { 
    return msg === 'Like this?' ? true : false; 
}) 

それにもかかわらず、私はというエラーを取得します探している:window.confirmノードを使用して馬を受け入れる方法。

本当にありがとうございます!

答えて

0

this answerを読むことで、私はこの問題を解決できました。

horseman 
    .open(myUrl) 
    .evaluate(function(){ 
     var realConfirm=window.confirm; 
     // override the window.confirm function just once 
     window.confirm=function(msg){ 
      window.confirm = realConfirm; 
      if (msg=="message I am Expecting"){ 
       return true; 
      }else{ 
       return false; 
      } 
     }; 
    }) 
    .click('#mybutton') 

そして、これが働いた:

は、代わりに .AT を使用して、私は次のようでした!

基本的には、次回の呼び出し時にwindow.confirm関数をオーバーライドし、実行中に以前の値に復元します。

これが他の人にも役立つことを願っています。

関連する問題