MaxKB web 站点知识库选择器的花样玩法
背景: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。

- 如果目标元素是一个 < div >,并且它是某个父元素的第一个子元素,可以使用 div:nth-child(1)。
- 如果目标元素没有类名或 ID,但可以通过其他属性或层级关系定位,可以使用更复杂的选择器。例如:
注意:MaxKB 选择器则是录入 document.querySelector() 或者 document.querySelectorAll() 中单引号中的内容。
附录:
更多参考:https://www.runoob.com/cssref/css-selectors.html
MaxKB web 站点知识库选择器的花样玩法的更多相关文章
- Less混合结合:nth-child()选择器的高级玩法
1.先看效果图 上图中比较麻烦的是每块的底色处理,下面看怎么处理 2.:nth-child(n) 选择器 匹配属于其父元素的第 N 个子元素,不论元素的类型. n 可以是数字.关键词或公式. 数字:最 ...
- 手机web站点和手机app 技术选型的困惑于思考
今年一直在关注移动端技术的发展,自己也用博客园的rss接口玩了半年,关于技术选型的困惑和大家说说 一 趋势 随着手机硬件不断的升级,外加4g牌照的发放,不出2年时间移动端web站点和手机app一定会进 ...
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第一章:创建基本的MVC Web站点
在这一章中,我们将学习如何使用基架快速搭建和运行一个简单的Microsoft ASP.NET MVC Web站点.在我们马上投入学习和编码之前,我们首先了解一些有关ASP.NET MVC和Entity ...
- 【读书笔记】2016.12.10 《构建高性能Web站点》
本文地址 分享提纲: 1. 概述 2. 知识点 3. 待整理点 4. 参考文档 1. 概述 1.1)[该书信息] <构建高性能Web站点>: -- 百度百科 -- 本书目录: 第1章 绪论 ...
- 如何在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 ...
- 将Web站点由IIS6迁移至IIS7
最近开始着手逐步将所有的Web站点由Win2003+IIS6迁移至64位Win2008+IIS7,基本还算顺利.这里就把相关内容整理总结一下.首先自然是要安装基本运行环境,包括iis,.net fra ...
- 《构建高性能web站点》随笔 无处不在的性能问题
前言– 追寻大牛的足迹,无处不在的“性能”问题. 最近在读郭欣大牛的<构建高性能Web站点>,读完收益颇多.作者从HTTP.多级缓存.服务器并发策略.数据库.负载均衡.分布式文件系统多个方 ...
- 利用IIS导出,导入快速部署 web站点
部署负载均衡站点的时候会创建多个站点拷贝.用脚本可以提高效率,并且减少错误 1 以管理员身份运行CMD 2 Cd C:\Windows\System32\inetsrv 3 导出指定的应用程序池 ap ...
- 为Windows Azure Web站点添加MIME类型解决文件下载失败的问题
这几天在倒腾Autodesk 360 Viewer,前面的文章也介绍过了,这将是一个全新的在线模型浏览工具.我做了个实验,把A360Viewer放在一个web 站点,然后发布到Windows Azur ...
- 让 Web 站点崩溃最常见的七大原因
磁盘已满 导致系统无法正常运行的最可能的原因是磁盘已满.一个好的网络管理员会密切关注磁盘的使用情况,隔一定的时间,就需要将磁盘上的一些负载转存到备份存储介质中(例如磁带). 日志文件会很快用光所有 ...
随机推荐
- biancheng-Hibernate框架
目录http://c.biancheng.net/hibernate/ 1ORM是什么2Hibernate是什么3Hibernate项目创建流程4Hibernate增删改查操作5Hibernate工作 ...
- python包学习:-了解
本节先做一些了解. numpy 参考:NumPy使用 NumPy 教程 NumPy是Python中科学计算的基础包.它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于 ...
- dart中类详细讲解
dart是一门面向对象的语言 dart是一门实用类和单继承的面向对象的语言 在dart中所有的对象都是类的实例. 所有的类都是Object的子类 类都是有属性和方法组成的 定义一个类 在dart中,我 ...
- CentOS7安装nvm和node
一.安装nvm 官方文档:https://github.com/nvm-sh/nvmwindows版文档:https://github.com/coreybutler/nvm-windowswindo ...
- 使用PhantomJS解决VUE项目无法被百度收录
一.安装PhantomJS 安装文章:https://www.cnblogs.com/robots2/p/17340143.html 二.编写脚本spider.js // spider.js 'use ...
- 大模型工具KTransformer的安装
技术背景 前面写过几篇关于DeepSeek的文章,里面包含了通过Ollama来加载模型,以及通过llama.cpp来量化模型(实际上Llama.cpp也可以用来加载模型,功能类似于Ollama).这里 ...
- java推送企业微信消息
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcl ...
- QT5笔记:11. Qt类库的模块
基础模块:提供了Qt的最基本的功能 附加模块:实现了一些特定功能的提供了附加价值的模块 增值模块:商业版才有的模块,单独发布的提供额外附加价值的模块或工具 技术预览模块:一些处于开发阶段,但是可以作为 ...
- @autowired注解报错原因及解决办法
@autowired 注入dao层的时候,标红报错,但不影响编译使用 按照严格的spring注解方式在dao层加入@Repository注解
- springboot2.1.6整合activiti6.0(二)--网页流程编辑器bpmnjs
网页流程编辑器bpmnjs 官网:https://bpmn.io/ github:https://github.com/bpmn-io/bpmn-js-examples 因为还需要做一些改造,才能使其 ...