2016-08-12 4 views
0

にjsの無限ループを実行するWebアプリケーションは、次のようなJSコードをお持ちの場合:防止はセレン/ Phantomjs

for(i=0; i > -1; i++){var a=1}; // Infinite loop 

を、私はそれを参照するセレン/ Phantomjsを使用し、それが永遠に立ち往生されます。

どうすればこの問題を解決できますか? phantomjsにはスクリプト実行のタイムアウトを設定するオプションがありますか?

+0

いいえ、あなたがすることはできません。どのバージョンのPhantomJSを使用していますか?ちなみに、このようなサイトを開くと、ブラウザはフリーズする必要があります。 –

+0

私は2.1.1を使用しています。だからこの問題は解決できないようですね? – user1571234

+0

JavaScriptはシングルスレッドでPhantomJSはJavaScript経由でページコンテキストにアクセスするため、ページコンテキスト内の無限ループによりページがフリーズします。それはちょうど悪いプログラミングです。とにかく、この狂気をするページJavaScriptをプロキシなどで変更しようとするかもしれません。 –

答えて

-2

使用RESOURCETIMEOUT

var page = require('webpage').create(); 
page.settings.resourceTimeout = 5000; // 5 seconds 

原産地:phantomJS webpage timeout

+0

それは動作していないようです。 – user1571234

+0

リンクの最初の回答をお試しください – Raskayu