我的第一个casper.js脚本是从python调用的

时间:2014-05-20 04:43:18

标签: javascript python phantomjs casperjs

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意味着打印到shell,也就是命令行。为什么会出错呢?

  • 什么是“APP_ROOT = os.path.dirname(os.path.realpath( file ))”???你能把它分解成碎片。

我是从

得到的
https://www.youtube.com/watch?v=Acrx-AjCo8Q

1 个答案:

答案 0 :(得分:0)

您可以做以下事情:

在名为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选项在交互式shell中运行Python。

现在通过以下方式检查您感兴趣的每件事:

>>> print(repr(APP_ROOT))

或只是:

>>> APP_ROOT

您还可以获得各种内置帮助,例如:

>>> help(subprocess.check_output)

NB: >>>只是匹配Python交互式shell的标记。