關(guān)于 Splash 3.2 的 jsfunc() 的一些基本操作

Splash 3.2 中的 jsfunc() 方法是直接可以調(diào)用JavaScript定義的方法,但是所調(diào)用的方法需要用雙中括號包圍,這相當(dāng)于實現(xiàn)了JvaScript方法到Lua腳本的轉(zhuǎn)換.示例如下:

function main(splash, args)
  local get_div_count = splash:jsfunc([[
    function () {
    var body = document.body;
    var divs = body.getElementsByTagName('div');
    return divs.length;
  }
  ]])
  splash:go('https://www.baidu.com')
  return ('There are %s DIVs'):format(
  get_div_count())
end

運行結(jié)果如下:

 Splash Response: "There are 22 DIVs" 

以上為參考<<Python3 網(wǎng)絡(luò)開發(fā)實戰(zhàn)>>,崔慶才 P270.

關(guān)于JavaScript到Lua腳本的更多轉(zhuǎn)換細節(jié),如下:

function main(splash, args)
  local vec_len = splash:jsfunc([[
      function(x, y) {
         return Math.sqrt(x*x + y*y)
      }
  ]])
  return {res=vec_len(5, 4)}
end

運行結(jié)果如下:

res: 6.4031242374328485

這是用JavaScript函數(shù)來傳參的一個示例

更多細節(jié)可以參考:
https://splash.readthedocs.io/en/stable/scripting-ref.html#splash-jsfunc

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 14,235評論 0 38
  • Splash渲染引擎 ? Splash是Scrapy官方推薦的JavaScript渲染,它是使用WebKit開...
    MR_ChanHwang閱讀 9,527評論 0 12
  • 未入職場,就還不算看見社會的模樣。我們只能看見一個依稀的輪廓,模模糊糊,隱隱約約。而其中的嬉笑怒罵,只有踏入其中,...
    阿依闊勒_June閱讀 322評論 0 3
  • 看了《若深愛,連沉默都聊得來》,故事講的是一對小情侶,從相戀的熱情走進生活平淡中的情感過移。相戀時,恨不得把對方捧...
    秋日一起閱讀 184評論 0 0

友情鏈接更多精彩內(nèi)容