背景:MaxKB 创建知识库支持“web 站点”的这种形式,但是很多同学不知道怎么录入选择器来针对性的获取某一部分内容。

1. 选择器作用

选择器用于定位网页中特定的元素,以便获取其数据。

默认情况下,如果没有指定选择器,系统会获取整个 body 的内容。

如果需要获取页面中某个特定区域的内容,就需要通过选择器来定位这个区域。

2.怎么编写选择器

2.1 使用浏览器的开发者工具

  • 打开目标网页。

  • 右键点击页面中你想要获取数据的区域,选择“检查”(Inspect)。

  • 在开发者工具中,你会看到页面的 HTML 结构。

  • 找到对应的 HTML 元素(例如< div >、< span >等),并查看它的类名(class)、ID(id)或其他属性。

2.2 编写选择器

  • 在开发者工具的“控制台”(Console)中,可以使用 querySelector() 或 document.querySelectorAll() 来测试选择器是否正确。

    • querySelector:捕获首位“中意之人”。

    • querySelectorAll:网罗全部“中意之人”。

  • 拿类选择器举例:

以下是相关选择器参考:

  • 标签选择器

    语法:document.querySelector('标签名')

    示例:document.querySelector('div'),选择页面中的第一个< div >元素。

  • 类选择器

    语法:document.querySelector('.类名')

    示例:document.querySelector('.md-container'),选择页面中第一个带有 class="md-container" 的元素。

  • ID 选择器

    语法:document.querySelector('#ID名')

    示例:document.querySelector('#_1'),选择页面中 id="_1" 的元素。

  • 属性选择器

    语法:document.querySelector('元素名[属性名]') 或 document.querySelector('元素名[属性名="属性值"]')

    示例:

    document.querySelector('input[type="text"]'),选择页面中第一个 type="text" 的 < input > 元素。

    document.querySelector('img[alt]'),选择页面中第一个带有 alt 属性的< img > 元素。

  • 组合选择器

    语法:可以将多个选择器组合使用,例如类和标签组合。

    示例:document.querySelector('div.container'),选择页面中第一个 < div > 且 class="container" 的元素。

  • 伪类选择器

    语法:document.querySelector('元素名:伪类名')

    示例:document.querySelector('li:first-child'),选择页面中第一个 < li > 元素。

  • 后代选择器

    语法:document.querySelector('祖先元素 后代元素')

    示例:document.querySelector('ul li'),选择页面中第一个 < ul > 元素内的 < li > 元素。

  • 子代选择器

    语法:document.querySelector('父元素>子元素')

    示例:document.querySelector('ul>li'),选择页面中第一个 < ul > 元素的直接子元素 < li >。

  • 相邻兄弟选择器

    语法:document.querySelector('元素1+元素2')

    示例:document.querySelector('button+div'),选择页面中第一个紧接在 < button > 元素之后的 < div > 元素。

  • 通用兄弟选择器

    语法:document.querySelector('元素1~元素2')

    示例:document.querySelector('input~div'),选择页面中第一个 < input > 元素之后的所有 < div > 元素。

  • 其他选择器

    • 如果目标元素没有类名或 ID,但可以通过其他属性或层级关系定位,可以使用更复杂的选择器。例如:

      • 如果目标元素是一个 < div >,并且它是某个父元素的第一个子元素,可以使用 div:nth-child(1)。

      • 如果目标元素是某个特定类名的子元素,可以使用嵌套选择器,例如 .md-container > .md-main。

注意:MaxKB 选择器则是录入 document.querySelector() 或者 document.querySelectorAll() 中单引号中的内容。

附录:

更多参考:https://www.runoob.com/cssref/css-selectors.html

MaxKB web 站点知识库选择器的花样玩法的更多相关文章

  1. Less混合结合:nth-child()选择器的高级玩法

    1.先看效果图 上图中比较麻烦的是每块的底色处理,下面看怎么处理 2.:nth-child(n) 选择器 匹配属于其父元素的第 N 个子元素,不论元素的类型. n 可以是数字.关键词或公式. 数字:最 ...

  2. 手机web站点和手机app 技术选型的困惑于思考

    今年一直在关注移动端技术的发展,自己也用博客园的rss接口玩了半年,关于技术选型的困惑和大家说说 一 趋势 随着手机硬件不断的升级,外加4g牌照的发放,不出2年时间移动端web站点和手机app一定会进 ...

  3. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第一章:创建基本的MVC Web站点

    在这一章中,我们将学习如何使用基架快速搭建和运行一个简单的Microsoft ASP.NET MVC Web站点.在我们马上投入学习和编码之前,我们首先了解一些有关ASP.NET MVC和Entity ...

  4. 【读书笔记】2016.12.10 《构建高性能Web站点》

    本文地址 分享提纲: 1. 概述 2. 知识点 3. 待整理点 4. 参考文档 1. 概述 1.1)[该书信息] <构建高性能Web站点>: -- 百度百科 -- 本书目录: 第1章 绪论 ...

  5. 如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites]

    如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites] 一.布局页面介绍[Abo ...

  6. 将Web站点由IIS6迁移至IIS7

    最近开始着手逐步将所有的Web站点由Win2003+IIS6迁移至64位Win2008+IIS7,基本还算顺利.这里就把相关内容整理总结一下.首先自然是要安装基本运行环境,包括iis,.net fra ...

  7. 《构建高性能web站点》随笔 无处不在的性能问题

    前言– 追寻大牛的足迹,无处不在的“性能”问题. 最近在读郭欣大牛的<构建高性能Web站点>,读完收益颇多.作者从HTTP.多级缓存.服务器并发策略.数据库.负载均衡.分布式文件系统多个方 ...

  8. 利用IIS导出,导入快速部署 web站点

    部署负载均衡站点的时候会创建多个站点拷贝.用脚本可以提高效率,并且减少错误 1 以管理员身份运行CMD 2 Cd C:\Windows\System32\inetsrv 3 导出指定的应用程序池 ap ...

  9. 为Windows Azure Web站点添加MIME类型解决文件下载失败的问题

    这几天在倒腾Autodesk 360 Viewer,前面的文章也介绍过了,这将是一个全新的在线模型浏览工具.我做了个实验,把A360Viewer放在一个web 站点,然后发布到Windows Azur ...

  10. 让 Web 站点崩溃最常见的七大原因

    磁盘已满 导致系统无法正常运行的最可能的原因是磁盘已满.一个好的网络管理员会密切关注磁盘的使用情况,隔一定的时间,就需要将磁盘上的一些负载转存到备份存储介质中(例如磁带).   日志文件会很快用光所有 ...

随机推荐

  1. dart安装教程详解

    官网 https://dart.dev 关于发布通道和版本字符串 Dart SDK有三个发布通道: 1==>:稳定释放,大约每三个月更新一次: 稳定释放适合生产使用. 2==>:预览发布, ...

  2. Node.js 与 PostgreSQL 集成:深入 pg 模块的应用与实践

    title: Node.js 与 PostgreSQL 集成:深入 pg 模块的应用与实践 date: 2025/2/5 updated: 2025/2/5 author: cmdragon exce ...

  3. Rocksdb原理简介

    本文分享自天翼云开发者社区<Rocksdb原理简介>,作者:l****n Rocksdb作为当下nosql中性能的代表被各个存储组件(mysql.tikv.pmdk.bluestore)作 ...

  4. Django-Admin和第三方插件Xadmin

    Admin django内置了一个强大的组件叫Admin,提供给网站管理员快速开发运营后台的管理站点. 站点文档: https://docs.djangoproject.com/zh-hans/2.2 ...

  5. Whois 收集

    Whois 收集 Whois是什么 Whois(读作"Who is")是一个标准的互联网协议,主要用于查询域名的注册信息,包括域名所有人.注册商.注册时间.过期时间等详细信息.简单 ...

  6. 7. Docker 容器数据卷的使用(超详细的讲解说明)

    7. Docker 容器数据卷的使用(超详细的讲解说明) @ 目录 7. Docker 容器数据卷的使用(超详细的讲解说明) 1. Docker容器数据卷概述 2. Docker 容器数据卷的使用演示 ...

  7. 从 14 秒到 1 秒:MySQL DDL 性能优化实战

    1. 问题背景 MySQL版本:8.0.30 测试表数据量:200万 在 MySQL 中,研发人员最初执行了以下 SQL 语句,向表 t_email 中添加了一个允许为 NULL 的列 id3,并设置 ...

  8. 运用myabits

    要使用 MyBatis, 只需将 mybatis-x.x.x.jar 文件置于类路径(classpath)中即可. 如果使用 Maven 来构建项目,则需将下面的依赖代码置于 pom.xml 文件中: ...

  9. MySQL - [07] 查看库表数据所使用的空间大小

    1.切换数据库:use information_schema; 2.查看数据库使用大小 SELECT concat(round(sum(data_length/1024/1024),2),'MB') ...

  10. Flink学习(五) Flink 的核心语义和架构模型

    Flink 的核心语义和架构模型我们在讲解 Flink 程序的编程模型之前,先来了解一下 Flink 中的 Streams.State.Time 等核心概念和基础语义,以及 Flink 提供的不同层级 ...