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

如何通过Chrome扩展修改网页文本,使用innerText操作无效怎么解决?

问题排查与修正方案

1 核心错误:DOM选择器参数错误

getElementsByClassName API仅需要传入元素的类名字符串作为参数,你错误传入了完整的HTML片段,会导致无法匹配到任何元素。
原错误写法:

const elements = document.getElementsByClassName('<div class="styles__tokenBalanceText___2eYY7-camelCase">742</div>')

修正后的选择器写法:

const elements = document.getElementsByClassName('styles__tokenBalanceText___2eYY7-camelCase')

2 适配动态渲染页面

现代网页大部分内容是前端JS异步渲染生成的,content script默认执行时目标元素可能还没有被插入到DOM中,需要增加轮询逻辑确保能匹配到加载完成的元素,完整的Content.js参考代码如下:

const modifyBalanceText = () => {
  const elements = document.getElementsByClassName('styles__tokenBalanceText___2eYY7-camelCase')
  for (let i = 0; i < elements.length; i++) {
    elements[i].innerText = "123";
  }
  // 未找到元素时100ms后重试
  if(elements.length === 0) {
    setTimeout(modifyBalanceText, 100)
  }
}

modifyBalanceText()

3 manifest配置说明

你当前的manifest配置符合Manifest V3规范,不需要调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:42:04