如何从Chrome扩展程序中找到文本框

时间:2018-06-20 00:35:54

标签: javascript html dom google-chrome-extension css-selectors

我正在制作一个Chrome扩展程序,需要它来在网页上找到任何表单文本框。

我首先尝试在内容脚本中执行此操作,例如:

document.getElementsByTag("text");

但是它总是返回undefined,所以我假设它只在搜索my_app.html

我的第一个问题是我应该使用什么功能:GetElmentsByTag,按名称,按className或与其他功能一起使用?

我的第二个问题是我需要搜索哪个JavaScript文件?其他存在类似问题的论坛表示,您需要访问另一个文件(如背景或弹出窗口)中的DOM,然后将其与消息和侦听器一起发送到内容脚本。

1 个答案:

答案 0 :(得分:0)

首先,您正在调用一个不存在的函数。您可能是指Document.getElementsByTagName()Document.querySelectorAll(),如此处所示:

console.log(document.getElementsByTagName);
console.log(document.querySelectorAll);
console.log(document.getElementsByTag);

此外,您的选择器有误:没有<text> HTML元素。

如果要使用所有type属性(textpasswordsearchradio,{{1 }},...),则可以使用以下任何一种方式:

checkbox

如果您只想要document.getElementsByTagName('input'); document.querySelectorAll('input'); 的特定类型,例如<input>,则可以:

text

最后,如果您想要document.querySelectorAll('input[type="text"]') 的不同类型,则可以将多个选择器与,连接:

<input>