javascript - 如何从 Chrome 扩展程序中查找文本框
问题描述
我正在制作一个 Chrome 扩展程序,我需要它来查找网页上的任何表单文本框。
我首先尝试在我的内容脚本中执行此操作,例如:
document.getElementsByTag("text");
但它总是返回undefined
,所以我假设它只是在搜索my_app.html
。
我的第一个问题是我应该使用什么函数:GetElmentsByTag、按名称、按类名,还是与其他函数一起使用?
我的第二个问题是我需要搜索哪个 JavaScript 文件?其他有类似问题的论坛说您需要在另一个文件(如背景或弹出窗口)中访问 DOM,然后将其发送到带有消息和侦听器的内容脚本。
解决方案
首先,您正在调用一个不存在的函数。您可能是指Document.getElementsByTagName()
or Document.querySelectorAll()
,如您在此处看到的:
console.log(document.getElementsByTagName);
console.log(document.querySelectorAll);
console.log(document.getElementsByTag);
此外,您的选择器是错误的:没有<text>
HTML 元素。
如果您想要<input>
具有任何type
属性(text
、password
、search
、radio
、checkbox
、 ...)的所有字段,那么您可以使用以下任何一种:
document.getElementsByTagName('input');
document.querySelectorAll('input');
如果您只想要<input>
特定类型的 s,比如说text
,您可以这样做:
document.querySelectorAll('input[type="text"]')
,
最后,如果你想要<input>
不同类型的 s ,你可以连接多个选择器:
document.querySelectorAll('input[type="text"], input[type="password"]')
推荐阅读
- java - Square API:交易的空订单ID
- python - 在本地机器和远程服务器之间传输文件
- android - Firebase react-native 无法访问
- verilog - Verilog 原语
- c++ - pcl_ros::transformPointCloud 的矢量化
- c# - C# Aes byte[] 加密/解密:不是一个完整的块
- python - 在 Python 中解析包含“\u 作为 UTF-8 字节”的 JSON
- python - 如何使用正则表达式提取引号内的值?
- machine-learning - 使用什么类型的神经网络来区分真假图像?
- python - 未找到“”的反向。'' 不是有效的视图函数或模式名称 - Django App