Мой первый скрипт casper.js вызывается из python
pythonscript
import os
import subprocess
APP_ROOT = os.path.dirname(os.path.realpath(__file__))
CASPER = "C:\casperjs\bin\casperjs"
SCRIPT = os.path.join(APP_ROOT,'test.js')
params = CASPER + ' ' + SCRIPT
print subprocess.check_output(params, shell=True)
образец casper.js
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();
Проблема - последняя строка в моем скрипте Python
Что я хотел бы знать...
Что делает "print subprocess.check_output(params, shell=True)", что такое params, я предполагаю, что shell означает "печать в оболочку", то есть командную строку. И почему это ошибка?
Что такое "APP_ROOT = os.path.dirname (os.path.realpath (file))"??? Вы можете разбить его на кусочки.
Я получил это от
https://www.youtube.com/watch?v=Acrx-AjCo8Q
1 ответ
Вот что вы можете сделать:
Введите следующий код в файл с именем run_casper_sample.py
:
import os
import subprocess
APP_ROOT = os.path.dirname(os.path.realpath(__file__))
CASPER = "C:\casperjs\bin\casperjs"
SCRIPT = os.path.join(APP_ROOT,'test.js')
params = CASPER + ' ' + SCRIPT
output = subprocess.check_output(params, shell=True)
Затем введите в командной строке следующее:
python -i run_casper_sample.py
-i
опция запускает Python в интерактивной оболочке.
Теперь осмотрите каждую вещь, которая вас интересует, выполнив такие вещи, как:
>>> print(repr(APP_ROOT))
или просто:
>>> APP_ROOT
Вы также можете получить встроенную справку для различных вещей, например:
>>> help(subprocess.check_output)
NB: >>>
это просто маркеры, соответствующие интерактивной оболочке Python.