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

Manifest V2 Chrome扩展中chrome.tabs.executeScript获取元素内容求助

解决方案

要获取document.getElementById("pr_id_5")的内容,你需要利用chrome.tabs.executeScript的回调函数接收内容脚本返回的数据(扩展上下文和网页上下文相互隔离,无法直接跨上下文访问变量)。具体修改如下:

let save = document.getElementById("save");

save.onclick = function(el) {
    chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
        // 保留原有赋值操作
        chrome.tabs.executeScript(tabs[0].id,{code: 'document.getElementById("username").value = "'+login_val+'";' });   
        
        // 修改获取元素内容的逻辑
        chrome.tabs.executeScript(tabs[0].id, {
            code: 'document.getElementById("pr_id_5").textContent;' // 返回元素纯文本内容,可按需替换为innerHTML/value
        }, function(results) {
            // results为返回值数组,单个标签页执行时取results[0]即可
            const elementContent = results[0];
            console.log("元素内容:", elementContent);
            // 可根据需求处理内容,比如弹窗展示或存入变量
            alert(elementContent);
        });
    });
}

关键说明:

  • 根据pr_id_5元素的类型选择对应属性:
    • 普通文本元素用textContent获取纯文本
    • 需要保留HTML结构的内容用innerHTML
    • 输入框类表单元素用value获取输入值
  • chrome.tabs.executeScript的第三个参数是回调函数,results参数会接收内容脚本返回的数据,针对单个标签页执行时,取results[0]就能拿到目标内容。

内容的提问来源于stack exchange,提问作者Tipusx

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 03:41:14