В качестве теста у меня есть следующий скрипт PHP:
<?php
print shell_exec("/usr/local/bin/casperjs test.js --ssl-protocol=any --verbose");
?>
Сценарий casperjs выглядит следующим образом:
var casper = require('casper').create();
casper.start('http://casperjs.org/', function() {
this.echo(this.getTitle());
});
casper.thenOpen('http://phantomjs.org', function() {
this.echo(this.getTitle());
});
casper.run();
Я ожидал бы вывод как:
CasperJS, утилита для сценариев навигации и тестирования для PhantomJS и SlimerJS PhantomJS | PhantomJS
Это на самом деле прекрасно работает в командной строке. Однако мне нужно запустить PHP-скрипт, который вызывает Cperjob скрипт CasperJS.
PHANTOMJS_EXECUTABLE = / usr / local / bin / phantomjs php /path/to/file/test.php
Почему-то, когда я это делаю, я получаю следующую ошибку:
File "/usr/local/bin/casperjs", line 138
except OSError as err:
^
SyntaxError: invalid syntax
X-Powered-By: PHP/5.4.21
Content-type: text/html
Я попытался установить переменную окружения для PhantomJS, но это не помогает. Я сократил свой собственный скрипт до вышеприведенного, чтобы убедиться, что эта ошибка не имеет ничего общего с моим собственным кодированием.
Кто-нибудь есть идеи, как заставить CasperJS работать в PHP-скрипте из Cronjob?
Кстати: я использую CentOS.
Я видел ту же ошибку, потому что на моей машине установлены некоторые версии python. Поэтому вы должны установить Python 2.6+ или отредактировать /usr/local/bin/casperjs
, Спасибо
от
OSError as err:
в
OSError, err:
Других решений пока нет …