python的execjs.compile输出结果处理?

利用 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'))

运行结果:

clipboard.png

阅读 10.2k
1 个回答

这个返回值说的很明白了,它是一个对象object,无法直接看到里面的内容。
你需要查下她有没有类似object.text()属性,或者是否可以迭代出来 for i in object: print(i)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题