阿麥Mai 2024-03-06 18:26 采纳率: 57.1%
浏览 5
已结题

chrome插件开发的问题!

下图为插件源码,想要实现点击插件按钮就可以获取当前页面的特定元素并且在当前控制台打印结果。

img

img

运行插件时报错如下:

img

  • 写回答

4条回答 默认 最新

  • 关注

    阿麥Mai 晚上好🌙🌙🌙
    本答案参考ChatGPT-3.5

    根据你提供的代码和报错信息,可以看出存在两个问题:

    1. 在manifest.json文件中的background字段写错了,应该改成"background":{"service_worker":"background.js"}。
    2. 在background.js文件中的代码存在一些语法错误,如console.Log应该改为console.log,还有括号和分号的问题。

    下面是解决方案:

    1. 修改manifest.json文件中的background字段,代码如下:
    "background": {
      "service_worker": "background.js"
    }
    
    1. 修改background.js文件中的代码,代码如下:
    console.log("background.js");
    
    chrome.action.onClicked.addListener(function() {
      console.log('点击事件');
    
      chrome.tabs.query({ active: true, currentWindow: true }, function(tabs) {
        chrome.scripting.executeScript({
          target: { tabId: tabs[0].id },
          function: () => {
            const e = document.getElementsByClassName('elx-cell c--tooltip');
            const re = e[104].textContent;
            // 执行您想要的操作,例如打印元素列表
            console.log(re);
          }
        });
      });
    });
    

    其中修改的地方有:

    • console.Log改为console.log;
    • 注册点击事件时的大括号和小括号;
    • 添加点击事件中的chrome.scripting.executeScript方法,用于在当前活动标签页执行指定的脚本。

    希望以上解决方案对你有帮助!

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月13日
  • 创建了问题 3月6日

悬赏问题

  • ¥15 带序列特征的多输出预测模型
  • ¥15 VB.NET读取电脑主板序列号
  • ¥15 Python 如何安装 distutils模块
  • ¥15 关于#网络#的问题:网络是从楼上引一根网线下来,接了2台傻瓜交换机,也更换了ip还是不行
  • ¥15 资源泄露软件闪退怎么解决?
  • ¥15 CCF-CSP 2023 第三题 解压缩(50%)
  • ¥30 comfyui openpose报错
  • ¥20 Wpf Datarid单元格闪烁效果的实现
  • ¥15 图像分割、图像边缘提取
  • ¥15 sqlserver执行存储过程报错