鍍金池/ 問答/Python  HTML/ python的execjs.compile輸出結(jié)果處理?

python的execjs.compile輸出結(jié)果處理?

利用 Python3 下的 execjs 模塊,指定 Js 腳本 Return 結(jié)果并傳值,但沒明白它的執(zhí)行結(jié)果是什么意思?

JS 是網(wǎng)上找的頁面加載時間 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)

它的執(zhí)行結(jié)果:

<execjs._external_runtime.ExternalRuntime.Context object at 0x00789E30>

按理說應(yīng)該輸出一串?dāng)?shù)字,沒看懂上面的結(jié)果是什么意思。

請問大神解釋什么意思?如何轉(zhuǎn)化為數(shù)字?

添加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'))

運行結(jié)果:

clipboard.png

回答
編輯回答
貓館

這個返回值說的很明白了,它是一個對象object,無法直接看到里面的內(nèi)容。
你需要查下她有沒有類似object.text()屬性,或者是否可以迭代出來 for i in object: print(i)

2018年8月6日 21:52