您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
generate a element-only CSS selector
当前为
常见的 CSS 选择器:
#gatsby-focus-wrapper > div > div > div.Box-nv15kw-0.Flex-arghxi-0.layout___StyledFlex-sc-1qhwq3g-0.iUtsKT.fNYvIR > div.Box-nv15kw-0.iiMOdu > div > div > div > div:nth-child(8) > div > div
经过脚本转换后的 CSS 选择器:
body > div > div:nth-child(1) > div > div > div:nth-child(2) > div:nth-child(1) > div > div > div > div:nth-child(8) > div > div
可以发现转换后的 CSS 选择器只包含元素,这就是这个脚本的目的。
注意:
document.querySelector
函数在网页中找到对应的元素。只要是正常利用浏览器复制得到的 CSS 选择器都行。CSS 选择器种类参见:https://developer.mozilla.org/zh-CN/docs/Learn/CSS/Building_blocks/Selectors补充:利用浏览器复制 CSS 选择器
首先打开开发者模式
点击下图标识的图标
鼠标移动到需要选择的网页元素上,可以发现右边的开发者工具中会出现你选中的元素。
右键点击开发者工具中出现的元素然后按照图中顺序选择复制 selector
脚本发布在 greasyfork:https://greasyfork.org/zh-CN/scripts/460714
脚本 Github 仓库文件地址:https://github.com/coycs/Greasy-Fork/blob/main/%E7%94%9F%E6%88%90%E7%BA%AF%E5%85%83%E7%B4%A0CSS%E9%80%89%E6%8B%A9%E5%99%A8/main.js
如果你只是需要用这个脚本就忽略这个地址,去greasyfork安装就可以用了。
(1)有一定的编程基础并且不想安装油猴脚本
获取到目标元素的选择器后,作为函数调用参数填入指定位置,复制全部代码粘贴在浏览器的控制台:
const genTagSelector = selector => {
let targetNode = document.querySelector(selector);
let tagSelector = "";
while (targetNode.nodeName != "HTML") {
const parentNode = targetNode.parentNode;
const childNodes = Array.from(parentNode.childNodes).filter(
node => node.nodeName != "#text" && node.nodeName != "#comment"
);
const tagName = targetNode.tagName.toLowerCase();
let nthIndex = 0;
// 判断父元素下目标元素的标签名是否唯一
if (childNodes.filter(node => node.tagName.toLowerCase() == tagName).length == 1) {
if (parentNode.nodeName != "HTML") {
tagSelector = ` > ${tagName}` + tagSelector;
} else {
tagSelector = `html > ${tagName}` + tagSelector;
}
} else {
// 获取nthIndex的序号
for (let i = 0; i < childNodes.length; i++) {
if (childNodes[i] === targetNode) {
nthIndex = i + 1;
break;
}
}
if (parentNode.nodeName != "HTML") {
tagSelector = ` > ${tagName}:nth-child(${nthIndex})` + tagSelector;
} else {
tagSelector = `html > ${tagName}:nth-child(${nthIndex})` + tagSelector;
}
}
targetNode = parentNode;
}
return tagSelector;
};
// 函数传入选择器字符串
// 如:genTagSelector("body > div > p")
genTagSelector("");
(2)直接使用油猴脚本
按照图中步骤先点击油猴脚本图标(对应 1),然后点击该脚本菜单的按钮“输入选择器”(对应 2)。
出现对话框后在输入框中输入想要转换的 CSS 选择器,然后点击“确定”按钮。
随后出现一个新的对话框,复制对话框中的内容然后点击“确定”按钮关闭对话框。