You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否使用chromote包引入JavaScript库?

Chromote 实现类似 PhantomJS page.inject() 的功能

可以实现,Chromote 依托 Chrome DevTools Protocol(CDP)提供了等价能力,只是没有和 PhantomJS 完全一致的inject方法名,具体有两种常用实现方式:

  • 注入本地/远程脚本文件
    使用DOM$addScriptTag方法,既可以加载远程脚本URL,也可以读取本地脚本内容后注入:

    library(chromote)
    # 初始化Chromote和页面
    chrome <- Chromote$new()
    page <- chrome$new_page()
    
    # 注入本地JS库文件
    local_script <- readLines("thelibrary.js", warn = FALSE) |> paste(collapse = "\n")
    page$DOM$addScriptTag(content = local_script)
    
    # 注入远程JS库(示例:jQuery)
    page$DOM$addScriptTag(url = "https://code.jquery.com/jquery-3.6.0.min.js")
    
  • 直接执行脚本内容
    读取本地脚本内容后,通过Runtime$evaluate方法执行脚本,达到加载库的效果:

    script_content <- readLines("thelibrary.js", warn = FALSE) |> paste(collapse = "\n")
    page$Runtime$evaluate(expression = script_content)
    

这两种方式都能实现和 PhantomJS page.inject() 相同的功能,本质都是将目标JS库加载到当前页面的执行环境中。

内容的提问来源于stack exchange,提问作者Stéphane Laurent

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 12:05:04