Javascript 从python调用我的第一个casper.js脚本
蟒蛇文字Javascript 从python调用我的第一个casper.js脚本,javascript,python,phantomjs,casperjs,Javascript,Python,Phantomjs,Casperjs,蟒蛇文字 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) ca
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意味着print to shell,也称为命令行。为什么会出错
- 什么是“APP_ROOT=os.path.dirname(os.path.realpath(文件)”???你能把它分解成小块吗
https://www.youtube.com/watch?v=Acrx-AjCo8Q
以下是您可以做的事情: 在名为
run\u casper\u 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匹配的标记。一直说“NameError:name'file'未定义”。请将确切的错误粘贴到类似的内容中,或者发布您遇到的问题的新问题。我上面的答案是正确的,它确实有效。嗨,准确的错误如上所述名称错误:未定义名称“文件”。这是代码的第三行,APP_ROOT=blah。。。。很遗憾,你的回答对我不起作用。我仍然不断地被提示名称“file”未定义。@yoshiserry我要求一份准确的拷贝“n paste”是因为你描述的内容非常不准确和错误。您在上面假装的代码段和我在回答中给出的代码段不包含对名为文件的对象的引用。这里有\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。由于不相交,我实际上不知道如何帮助您:/I复制粘贴我在问题中提到的python n js代码。我得到[joshua@JOSHUA-PC文档]$python open.py文件“open.py”,第7行打印子流程。检查输出(参数,shell=True)^syntaxer错误:无效语法[joshua@JOSHUA-PC文档]$您需要从.py
文件调用它。在python shell中运行时,这将不起作用,因为不会定义文件。