にjsの無限ループを実行するWebアプリケーションは、次のようなJSコードをお持ちの場合:防止はセレン/ Phantomjs
for(i=0; i > -1; i++){var a=1}; // Infinite loop
を、私はそれを参照するセレン/ Phantomjsを使用し、それが永遠に立ち往生されます。
どうすればこの問題を解決できますか? phantomjsにはスクリプト実行のタイムアウトを設定するオプションがありますか?
にjsの無限ループを実行するWebアプリケーションは、次のようなJSコードをお持ちの場合:防止はセレン/ Phantomjs
for(i=0; i > -1; i++){var a=1}; // Infinite loop
を、私はそれを参照するセレン/ Phantomjsを使用し、それが永遠に立ち往生されます。
どうすればこの問題を解決できますか? phantomjsにはスクリプト実行のタイムアウトを設定するオプションがありますか?
使用RESOURCETIMEOUT
var page = require('webpage').create();
page.settings.resourceTimeout = 5000; // 5 seconds
それは動作していないようです。 – user1571234
リンクの最初の回答をお試しください – Raskayu
いいえ、あなたがすることはできません。どのバージョンのPhantomJSを使用していますか?ちなみに、このようなサイトを開くと、ブラウザはフリーズする必要があります。 –
私は2.1.1を使用しています。だからこの問題は解決できないようですね? – user1571234
JavaScriptはシングルスレッドでPhantomJSはJavaScript経由でページコンテキストにアクセスするため、ページコンテキスト内の無限ループによりページがフリーズします。それはちょうど悪いプログラミングです。とにかく、この狂気をするページJavaScriptをプロキシなどで変更しようとするかもしれません。 –