利用 Python3 下的 execjs
模块,指定 Js 脚本 Return 结果并传值,但没明白它的执行结果是什么意思?
JS 是网上找的页面加载时间 JS:
ctx1 = execjs.compile("""
var page = require('webpage').create(),
system = require('system'),
t, address;
t = Date.now();
address = 'https://www.baidu.com';
page.open(address, function(status) {
if (status !== 'success') {
console.log('FAIL to load the address');
} else {
t = Date.now() - t;
return t
}
phantom.exit();
});
""")
print(ctx1)
它的执行结果:
<execjs._external_runtime.ExternalRuntime.Context object at 0x00789E30>
按理说应该输出一串数字,没看懂上面的结果是什么意思。
请问大神解释什么意思?如何转化为数字?
添加function()
ctx1 = execjs.compile("""
function add(address){
var page = require('webpage').create(),system = require('system'),t, address;
t = Date.now();
page.open(address, function(status) {
if (status !== 'success') {
console.log('FAIL to load the address');
} else {
t = Date.now() - t;
return t;
}
phantom.exit();
});
};
""")
print(ctx1.call('add', 'http://www.baidu.com'))
运行结果:
这个返回值说的很明白了,它是一个对象object,无法直接看到里面的内容。
你需要查下她有没有类似object.text()属性,或者是否可以迭代出来 for i in object: print(i)