Если веб-приложение имеет JS код, такой как:Предотвращение выполнения бесконечного цикла в JS Selenium/Phantomjs
for(i=0; i > -1; i++){var a=1}; // Infinite loop
и я использую Селен/Phantomjs, чтобы просмотреть его, он будет застрял навсегда.
Как я могу решить эту проблему? Есть ли у phantomjs возможность установить тайм-аут для выполнения скрипта?
Нет, вы не можете. Какую версию PhantomJS вы используете? Кстати, любой браузер должен зависнуть при открытии такого сайта. –
Я использую 2.1.1. Значит, эта проблема неразрешима? – user1571234
Поскольку JavaScript является однопоточным, а PhantomJS получает доступ к контексту страницы через JavaScript, бесконечный цикл в контексте страницы затормозит страницу. Это просто плохое программирование. В любом случае, вы можете попытаться изменить страницу JavaScript, которая делает это безумие через прокси-сервер или что-то в этом роде. –