首页 > 解决方案 > 如何在JS中获取未知id和类的值和textContents

问题描述

假设我面前的网站上有一些单词或数字。我想制作一个程序,将这些特定的单词/数字更改为其他内容。目前,我打算使用谷歌扩展程序并将一些 JS 编码为内容脚本。我一直在想办法这么久。我希望它是通用的并且可以在多个网站上工作,因为我无法硬编码指向每个网站的值(我需要的)的 id 和类。

我试过 querySelectorAll、document.someMethod 甚至 window.find() 都无济于事。

以下是我的其他一些想法,可能会帮助您回答我的问题。

有没有办法从网站上获取 HTML 代码并将其转换为数组,遍历文档并使用 if 语句查找我需要的特定单词和数字,然后最后使用我的 JS 代码更改它们?只需从 HTML 中取出所有 id 和类并检查它是否与我想要的特定值有关。

main.js(内容脚本)

// How do I generalize querySelectorAll to take every instance of IDS or class names that follow a specific pattern? Lets say I wanted to change the values of each element in the HTML code that had IDs related to the string "titles". 
ids = document.querySelectorAll('')

如果您需要澄清或详细信息,请询问,我会立即提供。

标签: javascripthtmldomgoogle-chrome-extension

解决方案


所以这个 chrome 扩展的代码库应该能够帮助你走上正轨:https ://github.com/mark-monteiro/drumpfinator/blob/master/src/inject/inject.js

它基本上完成了你想要做的事情。它通过正则表达式获取唐纳德特朗普这个词的所有实例,并用一些随机有趣的形容词替换它。

从该示例中,您可以使用正则表达式或一些数组来确定您需要什么单词并将它们替换为您喜欢的单词,也许使用键值对象。


推荐阅读