Имейте очень странную проблему. С 1-2 недель я не могу создавать скриншоты страниц Craigslist с PhantomJS на Digital Ocean. Кто-нибудь знает, что может быть проблемой и почему она больше не работает?Невозможно создать скриншот Craiglist с PhantomJS на Digital Ocean
Он всегда работал хорошо и до сих пор отлично работает, когда я запускаю его локально на своем ноутбуке. Он создает скриншот в течение 2-4 секунд. Тем не менее, запускать то же самое (независимо от того, есть ли в специальном Docker-Container, как тот, который используется локально или установлен непосредственно на хосте) на Digital Ocean продолжает навсегда загружаться, и если мне повезет и подождите достаточно долго, я получаю скриншот после 7- 10+ минут.
Пробовал его на разных капельках (существующий & совершенно новый) в разных зонах (SF & Frankfurt), но всегда имеет ту же проблему. Об этом уже обращался в Digital Ocean. Они смогли воспроизвести проблему, но, по их словам, на их стороне ничего не изменилось, и они также не знают, что может вызвать это. Они обвиняют PhantomJS или Craigslist.
Его можно воспроизвести очень легко. На новом Droplet (Ubuntu 14.04) следующий код установит PhantomJS:
# Install dependencies
sudo apt-get install -y libicu52 libjpeg8 libfontconfig libwebp5
# Install PhantomJS
cd /usr/local/share && \
curl -L -O https://github.com/bprodoehl/phantomjs/releases/download/v2.0.0-20150528/phantomjs-2.0.0-20150528-u1404-x86_64.zip && \
unzip phantomjs-2.0.0-20150528-u1404-x86_64.zip && \
ln -s /usr/local/share/phantomjs-2.0.0-20150528/bin/phantomjs /usr/local/bin/phantomjs
Очень простой пример сценария, чтобы создать скриншот продукта на Craigslist. Файл под названием "тест-screenshot.js" с этим содержанием:
var page = require('webpage').create();
var url = 'http://vancouver.craigslist.ca/van/ctd/5148995470.html';
page.open(url, function() {
page.render('craigslist.png');
phantom.exit();
});
Для запуска сценария: "phantomjs тест-screenshot.js".
Спасибо!
Пожалуйста, зарегистрируйтесь на события 'onConsoleMessage',' onError', 'onResourceError',' onResourceTimeout' ([Пример] (https://gist.github.com/artjomb/4cf43d16ce50d8674fdf)). Возможно, есть ошибки. –
Спасибо! Но, к сожалению, никто из них не стреляет. Он просто загружает очень долгое время без выхода и, в конце концов, снимок экрана. – janober