- 博客(189)
- 收藏
- 关注
原创 Skill的概述与使用
OpenClaw 本身无法实时获取信息,而 Skill 正是解决这一问题的功能单元。它与普通 AI 聊天不同,依赖代码与接口实现 “怎么做” 的能力,具备模块化设计、标准化接口、即插即用和生态丰富的核心特点。Skill 可通过 ClawHub CLI 等方式安装,生态由官方市场与社区分享构成,支持版本管理与动态加载。核心技能方面,TavilyWebSearch 基于 Tavily API 实现实时联网搜索,需配置 API Key 以获取结构化互联网信息;Playwright 作为浏览器自动化 Skill,
2026-06-07 17:29:10
5481
17
原创 OpenClaw的通道配置
本文围绕OpenClaw的Channel通道机制及飞书、钉钉两大IM平台配置展开介绍。Channel是连接OpenClaw与各类即时通讯软件的适配桥梁,标准化消息收发流程,依托解耦、前置安全校验、异步处理等优势,实现AI在聊天软件内快速调用。文章先说明通道原理、消息流转逻辑与设计价值;随后详述飞书插件部署步骤,开篇提示数据泄露、AI幻觉等使用风险,通过命令安装插件,分两种途径创建机器人、配置权限与事件回调;钉钉配置流程和飞书大体相近,明确插件版本选择、参数填写、配置合并要点,同时列举配置报错的解决
2026-06-06 23:54:42
4882
6
原创 OpenClaw核心功能
OpenClaw 是一个本地优先的 AI Agent 框架,让用户通过命令行即可运行 AI 助手,所有操作在本地完成,数据不上云。核心功能包括:网关管理(启动/停止服务)、双界面交互(终端 TUI 和网页 Dashboard)、配置管理(向导式配置和诊断工具)。内置工具是 OpenClaw 的核心能力,涵盖文件操作(读/写/编辑)、命令执行(exec)、网络工具(搜索/抓取)和定时任务(cron)。其中 exec 工具最强大也最危险,建议在隔离环境中运行。Skill 是可安装的高级功能模块,与内置工具形成互
2026-05-29 14:22:17
7814
8
原创 OpenClaw 入门
本文介绍了开源本地优先 AI 智能体 OpenClaw,梳理其发展历程、核心功能与应用场景,对比了它和传统云端 AI 工具的差异。同时详解四层分层系统架构,说明各模块作用,并讲解学习价值与使用安全规范,帮读者快速入门这款可自主执行任务、支持自定义 Skill 扩展的 AI 平台。
2026-05-27 16:19:47
8570
8
原创 Langchain的学习(三)
本文介绍了LangChain中的核心组件及其在RAG(检索增强生成)流程中的应用。主要内容包括: 输出解析器:重点讲解PydanticOutputParser,用于将模型输出强制转换为结构化数据,确保格式一致性。 文档处理:涵盖文档加载器(PDF/Markdown)、分割器(按Token/字符切分)的使用方法,以及如何保留文档元数据。 向量技术:详细说明文本嵌入模型的工作原理,以及如何将文档转换为语义向量。 向量存储:对比内存型(Chroma)和持久化(Redis/Pinecone)向量数据库的CRUD操作
2026-05-26 23:16:52
8639
5
原创 Langchain的学习(二)
本文摘要:文章系统介绍了LangChain框架中消息处理与提示词模板的核心组件。首先详细解析了消息结构设计,包括原生LLM消息与LangChain统一消息格式的差异,以及BaseMessage基类的关键属性和方法。其次阐述了对话模式的消息流转逻辑和多轮对话实现方案,包括历史消息缓存、裁剪策略(按Token数或消息条数)和消息过滤合并技术。在提示词模板部分,重点讲解了文本模板与聊天模板的定义方式、变量插入机制以及少样本提示的实现方法,特别强调了结构化输出约束对提升信息提取准确性的作用。最后介绍了示例选择器的多
2026-05-21 18:37:59
10459
10
原创 Langchain的学习(一)
本文摘要: 本文系统介绍了LangChain框架的核心组件Runnable及其应用实践。主要内容包括: Runnable基础 统一接口规范,支持invoke/ainvoke/batch/stream四种执行方式 通过管道符|实现LCEL链式组合 常用内置Runnable类型及组合方法 聊天模型核心能力 模型初始化与配置方法 工具绑定与调用流程 结构化输出实现(Pydantic/TypedDict/JsonSchema) 流式传输机制 同步/异步流式处理实现 协程原理与异步编程实践 自定义输出格式处理 SSE
2026-05-19 22:18:40
10895
7
原创 轻量级日志模块实现:策略模式 + RAII 的工程化实践
本文介绍了一个基于策略模式和RAII思想的C++轻量级日志模块设计。该模块采用核心架构将日志生成与输出策略解耦,通过LogStrategy抽象接口实现控制台和文件两种输出方式的可扩展切换。关键实现包括:1) 使用RAII管理资源,确保线程安全和自动释放;2) 采用策略模式支持灵活扩展输出方式;3) 提供宏定义简化日志调用。模块具有高精度时间戳、跨平台支持等工程化特性,既能满足基础日志需求,又为高级功能预留扩展空间,体现了C++工程开发中的设计模式应用和资源管理思想。
2026-04-27 11:05:02
18775
8
原创 C++ 日志类设计
这篇文章介绍了一个简洁实用的C++日志工具实现方案。核心设计采用单例模式确保全局唯一实例,通过重载operator()实现优雅调用方式如log(INFO,"message")。关键特性包括自动时间戳、多级别日志(INFO/DEBUG/WARNING等)、同时支持控制台和文件输出。实现上仅使用标准库,轻量无依赖,包含可变参数处理、时间格式化和文件写入等实用功能。调用示例展示了不同级别日志的输出效果,格式统一美观。这个日志类代码精简但功能完整,非常适合嵌入各类C++项目中作为基础工具使用,尤
2026-04-14 23:19:23
18500
9
原创 Linux系统核心特性-软硬链接
本文通俗讲解了Linux系统中的硬链接和软链接概念。硬链接是共享同一inode的文件别名,不占额外空间,不能跨分区或链接目录,删除原文件不影响其访问。软链接是独立的快捷方式文件,可跨分区和链接目录,但原文件删除后会失效。关键区别在于:硬链接是文件分身(同inode),软链接是路径指针(独立inode)。硬链接适用于防误删和多入口访问,软链接适合跨分区引用和目录快捷方式。记忆口诀:硬链接是分身,软链接是快捷方式。通过实际命令演示和场景分析,帮助读者清晰区分两者特性及适用场景。
2026-04-13 17:21:02
8593
3
原创 C++核心之多线程
本文全面介绍了C++高并发编程的核心技术,包括四种线程创建方式(普通函数、带参函数、类成员函数和Lambda表达式)、三种线程同步机制(互斥锁、RAII锁和条件变量)以及原子操作和无锁队列的实现。重点讲解了基于std::atomic的无锁队列设计,通过CAS操作实现高性能并发访问。文章强调应根据实际场景合理选择同步方案:简单场景使用锁机制保证安全,高并发场景采用无锁结构优化性能。
2026-04-02 17:28:08
8353
9
原创 实现简化的高性能并发内存池
本文介绍了一种高性能并发内存池的设计与实现,针对标准库malloc在多线程环境下的性能瓶颈(锁竞争、系统调用开销、内存碎片)提出了三层缓存架构解决方案。该设计包含ThreadCache(线程无锁缓存)、CentralCache(中心协调缓存)和PageCache(页管理缓存),通过分层解耦和反馈调节机制实现高效内存管理。关键优化包括:慢启动算法动态调整批量大小、基数树替代哈希表实现O(1)查找、桶锁机制减少竞争、Span合并降低碎片等。测试表明其性能较malloc提升2.7倍,核心思想是通过空间换时间和缓存
2026-03-29 17:10:31
7653
11
原创 单例模式( 饿汉式与懒汉式 )
本文深入解析了单例模式的两种经典实现方式。饿汉式在类加载时即创建实例,实现简单且线程安全,但可能造成内存浪费;懒汉式延迟初始化,按需创建实例,灵活性高但需处理线程安全问题。文章通过C++和Java代码示例对比了两者的特点,指出饿汉式适合实例小、使用频繁的场景,懒汉式适合实例大、使用率低的场景,并给出了线程安全的最佳实践方案(如双检锁、静态内部类)。最后强调应根据实际需求选择实现方式,避免单例模式的滥用。
2026-03-21 21:11:07
8992
10
原创 Java入门( 日期类与 BigDecimal 工具类 )
本文详细解析Java开发中日期时间处理和高精度数值运算的核心工具类。日期时间处理方面,推荐使用Java8引入的LocalDateTime替代过时的Date类,其具备线程安全、无偏移等优势,支持创建、解析、字段获取、运算调整等操作。高精度运算方面,BigDecimal类能有效避免double/float的精度丢失问题,需注意使用字符串构造方法创建对象,除法运算必须指定精度和舍入模式。两者均为不可变类,天生线程安全,是提升代码健壮性的必备工具。掌握这些工具类的正确用法能规避开发中的常见问题,提高代码质量。
2026-03-21 18:23:06
8410
13
原创 Java入门( 异常 )
本文系统介绍了Java异常处理的核心知识,包括异常概念、体系结构、处理方式和自定义实现。首先解析了Java异常分类(Error、Checked/Unchecked Exception)及继承关系,详细讲解了throw、throws、try-catch-finally五大关键字的用法。通过用户登录等实例演示了EAFP异常处理思想,分析了异常传播流程,并指导如何创建贴合业务的自定义异常。文章还总结了异常处理最佳实践,如避免捕获所有异常、及时释放资源等。掌握这些知识能帮助开发者编写更健壮的代码,提升程序容错能力。
2026-03-20 23:05:01
9586
23
原创 Java入门(String类)
本文全面解析Java中String类的核心知识点,涵盖创建方式、常量池机制、不可变性原理及高效操作方法。String作为最常用的类,其设计目标包括封装性、安全性、易用性和高效性。文章详细对比了4种创建方式的内存差异,剖析了字符串常量池的优化原理,并强调不可变性带来的线程安全、哈希稳定等优势。针对开发常见问题,提供了字符串比较、类型转换、替换拆分等实用API示例,重点指出循环拼接时应使用StringBuilder以避免性能问题。最后通过3道经典面试题巩固理解,总结出优先使用字面量、内容比较用equals()、
2026-03-19 15:37:48
8946
6
原创 Java入门(抽象类 与 接口)
本文深入讲解了Java面向对象编程中的三个核心机制:抽象类、接口和Object类。抽象类作为模板类,通过抽象方法强制子类实现特定功能,体现is-a关系;接口定义行为规范,支持多实现弥补单继承限制,体现has-a关系。Object类作为所有类的根类,提供了toString()、equals()、hashCode()等基础方法。文章详细对比了抽象类和接口的区别,阐述了各自的使用场景,并通过丰富代码示例演示了如何正确使用这些特性。掌握这些知识点对编写高质量、可扩展的Java代码至关重要,也是面试中的高频考点。
2026-03-18 12:40:06
9589
12
原创 Java入门(多态)
本文全面解析Java多态的核心概念与应用。多态是面向对象编程的三大特性之一,指同一方法在不同对象上呈现不同行为。实现多态需满足三个条件:继承/实现关系、方法重写、父类引用指向子类对象。文章通过动物叫声案例演示多态实现,详细讲解方法重写规则、向上/向下转型操作,并分析静态绑定与动态绑定的底层原理。同时总结了多态降低代码复杂度、提高扩展性等优点,以及构造方法中调用重写方法的避坑指南。最后通过USB设备案例展示接口实现多态的方式,强调多态是面向抽象编程的重要体现。
2026-03-17 20:31:06
6320
2
原创 Java入门(继承)
本文系统讲解了Java继承机制,包括其核心概念、语法规则及实际应用。继承通过extends关键字实现代码复用,子类可访问父类非私有成员,使用super调用父类构造方法。文章详细解析了成员访问规则、初始化顺序、访问修饰符(特别是protected)的作用,对比了继承与组合的适用场景(is-a vs has-a关系),并指出final关键字可限制继承。通过完整代码示例,展示了如何正确使用继承构建类层次结构,避免代码冗余,同时强调了组合优先的原则以降低耦合性。继承作为面向对象三大特性之一,为多态奠定了基础,是Ja
2026-03-17 13:27:13
5229
5
原创 Java入门(类和对象)
本文系统介绍了Java面向对象编程中类和对象的核心概念与应用。首先阐述了面向对象的基本思想及其与面向过程的区别,重点讲解了类的定义格式、对象实例化方法及this关键字的使用场景。随后详细解析了对象的三种初始化方式(默认、就地、构造方法)及执行顺序,并介绍了toString方法重写技巧。文章还深入探讨了包的组织结构、封装特性实现及其优势,以及static关键字对共享成员的修饰作用。最后总结了代码块(普通、实例、静态)的初始化机制和执行顺序,强调静态代码块在类加载时的关键作用。通过丰富的代码示例,全面展示了面向
2026-03-16 21:51:36
2422
1
原创 Java 入门(IDEA 高效调试 与 数组)
本文系统讲解了Java开发中的调试技巧与数组知识。调试部分详细介绍了IDEA调试器的使用,包括基础断点设置、执行控制快捷键、条件断点等核心功能。数组部分从基础概念讲起,涵盖创建、初始化、遍历、引用特性等核心知识点,并重点讲解了Arrays工具类的常用方法(排序、查找、拷贝等)。文章还提供了经典算法实现(顺序查找、二分查找、冒泡排序等)和实战调试技巧,帮助开发者提升排错效率和代码质量。适合Java开发者系统学习或快速回顾数组与调试的核心技能。
2026-03-16 17:07:44
2215
3
原创 Java 入门(输入输出 与 方法)
本文全面介绍了Java基础编程中的控制台输入输出、方法使用和递归等核心知识点。主要内容包括:1)三种控制台输出方式(println/print/printf)的使用场景和示例;2)Scanner类实现键盘输入的完整步骤及常见问题解决方案;3)方法定义、调用和重载的规范写法;4)递归的基本原理和注意事项。文章通过大量代码示例演示了猜数字游戏、求平均值、阶乘计算等实用案例,帮助初学者快速掌握Java基础编程技巧,为后续学习打下坚实基础。
2026-03-16 10:43:20
2351
2
原创 Java 入门(运算符 与 逻辑控制)
摘要:本文系统讲解Java运算符和程序逻辑控制两大基础内容。运算符部分重点解析算术、自增、关系、逻辑等常用运算符的使用技巧和常见陷阱;程序逻辑控制部分详细介绍顺序、分支(if-else、switch)和循环(for、while)三种基本结构的使用场景和注意事项。文章强调掌握这些基础知识对后续Java学习的重要性,并提供多个实践案例帮助巩固知识点,如判断奇偶、计算阶乘等,为初学者打下扎实的编程基础。
2026-03-16 09:40:59
2168
2
原创 C++ string 类从原理到实战
本文系统梳理C++中string类的核心知识体系。首先解析深浅拷贝原理,指出string默认采用深拷贝确保安全性;其次通过模拟实现MyString类,详细展示构造析构、运算符重载、迭代器等关键功能;然后深入讲解标准库string的常用函数、容量管理和类型转换;最后结合字符串数字相加案例,演示如何利用迭代器和算法处理实际问题。全文从底层原理到应用实践,构建了完整的string类知识框架,为C++字符串编程提供全面指导。
2026-03-11 17:23:04
11264
7
原创 Java入门
Java是一门广泛应用于企业级开发、大数据和Android开发的编程语言,以其跨平台、面向对象和安全性高等特性著称。本文系统介绍了Java的基础知识,包括其核心版本(JavaSE和JavaEE)、就业方向、特性以及发展简史。通过HelloWorld示例详细讲解了Java程序的基本结构、运行流程和常见错误。此外,还涵盖了注释、标识符、关键字的使用规范,以及数据类型、变量、类型转换等核心概念。文章强调实践的重要性,建议初学者多练习代码编写,注重规范养成,为后续学习打好基础。
2026-03-11 17:14:55
1425
3
原创 C++的核心--多态
本文深入解析C++多态机制,从概念、实现到原理层层剖析。首先阐述多态的基本概念及其构成条件(虚函数、虚函数覆盖和基类指针/引用调用),详细讲解虚函数表的工作原理和动态绑定机制。其次探讨抽象类、接口继承与实现继承的区别,分析单继承和多继承中的虚函数表结构。此外,介绍了C++11新增的override和final关键字用法,并对比重载、覆盖和隐藏的异同。通过实例代码演示了多态的实际应用,揭示了虚函数表在内存中的存储位置及访问方式。最后总结多态在提升代码灵活性和可扩展性方面的重要价值,为开发者深入理解和运用这一核
2026-03-07 17:34:32
10447
9
原创 C++的核心--继承
本文系统探讨了C++中的继承机制,重点分析了继承的核心概念与关键问题。文章首先阐述继承的定义和三种继承方式,详细讲解基类和派生类对象间的赋值转换规则,包括安全的向上转型和风险性的向下转型。随后深入剖析继承中的作用域、派生类默认成员函数、友元关系和静态成员特性。针对多继承带来的复杂性,文章详细讨论了菱形继承问题及其解决方案——虚拟继承的实现原理。最后总结继承的优缺点,建议谨慎选择继承与组合,并强调继承在构建类层次结构和实现多态中的价值。全文全面覆盖C++继承机制,为理解和应用这一重要特性提供了系统指导。
2026-03-04 15:49:13
10180
12
原创 双指针算法 (完)
本文系统梳理了数组求和类问题的解题思路,从两数之和的基础解法出发,逐步扩展到三数、四数之和的进阶技巧,最终提炼出N数之和的通用框架。通过分析暴力枚举、哈希表优化和双指针降维三种方法的技术演进,重点阐述了排序预处理、多层去重和递归降维等核心思想。文章不仅提供了各问题的标准解法代码,还深入剖析了数值溢出、剪枝优化等关键细节,帮助读者建立从具体问题到通用模式的解题思维,掌握处理数组组合类问题的系统性方法。
2026-02-25 14:30:12
10353
4
原创 基于 Coze 工作流搭建 AI 动物视频生成器
本文介绍了一个基于AIGC技术的动物视频生成器开发方案。该工具通过Flask框架和Coze工作流,实现了从文字描述到视频内容的快速转换。系统采用轻量级技术栈,包含前后端交互设计、状态管理和异常处理等功能模块。文章详细阐述了项目背景、技术选型、核心架构及关键代码实现,并提供了本地运行和线上部署指南。该方案特别适合科普、教育等场景,让用户无需专业技能即可生成高质量动物视频。最后还探讨了视频质量配置、下载功能等扩展方向,展示了AIGC轻量化应用的开发思路。
2026-02-03 10:30:11
1308
4
原创 基于 Coze 工作流搭建历史主题图片生成器
本文介绍了如何利用低代码平台与Python Web框架快速开发一款AI图片生成Web应用。以历史主题图片生成器为例,详细讲解了从技术选型到部署的全流程:1. 采用Flask框架+Coze工作流的轻量化组合,实现前后端一体化开发;2. 后端通过Python SDK对接Coze平台,完成图片生成接口开发;3. 前端采用原生技术实现全流程交互,包含输入校验、状态管理、历史记录等功能;4. 通过环境变量管理敏感配置,确保安全性和可移植性。文章重点分析了核心架构设计、关键代码实现和用户体验优化技巧,为开发者提供了快速
2026-02-03 10:18:22
1775
5
原创 双指针算法 (二)
本文系统讲解双指针算法,通过三道典型例题展示其应用:1)"盛最多水的容器"使用相向双指针,在O(n)时间内通过贪心策略求解;2)"有效三角形的个数"采用排序+双指针,将O(n³)优化为O(n²);3)"和为s的两个数字"利用有序性实现O(n)查找。文章指出双指针适用于有序数组、链表等问题,其本质是通过指针移动减少冗余计算,并总结了不同问题的指针类型和核心思想,强调多总结思考才能掌握算法精髓。
2026-02-03 09:42:06
16901
3
原创 双指针算法(一)
本文总结了「移动零」「复写零」「快乐数」三道算法题的解题思路,均采用双指针技巧实现高效解。移动零通过同向双指针交换元素保证非零顺序;复写零通过两次遍历避免元素覆盖;快乐数利用快慢指针检测循环。三题展示了双指针在不同场景的灵活应用,强调逆向思维和空间优化的重要性,体现了算法学习的触类旁通。(149字)
2026-02-02 17:42:44
17006
2
原创 AI 提示词修炼指南
说到底,提示词不是 “咒语”,而是一种和 AI 高效沟通的能力。它考验的不是你的技术水平,而是你的逻辑思维、表达能力和对需求的拆解深度。越具体,越精准:不要让 AI “猜”,把你的需求拆解得越细,结果就越准。多迭代,多优化:第一版输出不理想很正常,通过追问和调整,逐步逼近你想要的结果。善用工具,不断积累:建立自己的提示词模板库,把常用的框架和技巧沉淀下来,下次复用更高效。希望这篇指南能帮各位彻底告别 “无效提问”,成为真正的 AI 提示词高手。
2026-02-02 13:47:16
1192
3
原创 LangChain初识
摘要:大语言模型(LLM)正通过四大核心能力重塑人机交互方式:1)语言理解与创造能力,实现高质量文本生成;2)海量知识储备,构建可对话的知识网络;3)逻辑推理与编程能力,实现思维到代码的转化;4)多模态处理,拓展AI应用场景。这些突破源于自监督学习的"猜词游戏"训练方式,使模型从简单函数发展为"超级大脑"。尽管面临数据隐私等挑战,LLM已推动认知和工作方式的变革,其与人类创造力的协作将定义AI时代的未来发展方向。(149字)
2026-02-02 11:52:40
1010
5
原创 打造AI智能”成语接龙“游戏
本文介绍了一个基于Flask+CozeAI开发的智能成语接龙游戏系统。系统采用三层架构设计:后端服务层处理游戏逻辑和API接口,AI交互层负责成语生成与验证,前端交互层优化用户体验。关键技术包括AI异步响应处理、跨域请求解决方案、敏感配置管理和多层容错机制。系统实现了成语接龙核心功能,并支持游戏状态管理、历史记录展示等功能。文章还探讨了性能优化、功能扩展方向,总结了轻量化AI集成和容错设计的重要性。该项目展示了传统文化与现代AI技术的创新结合,为开发者提供了快速上手的实现指南。
2026-01-30 09:51:23
1103
7
原创 搭建 AI 聊天机器人:”我的人生我做主“
本文介绍了一个基于Flask框架和CozeAI平台的轻量级AI聊天机器人开发项目。项目采用前后端一体化架构,包含4个核心文件:后端代码(app.py)、前端页面(index.html)、环境配置(.env)和依赖清单(requirements.txt)。后端实现了CozeAI交互封装、会话状态管理和API接口,前端使用原生HTML/CSS/JavaScript构建了响应式聊天界面。文章详细解析了代码结构、实现原理和运行步骤,包括环境配置、会话保持机制、前后端通信方式等关键技术点,并提供了代码优化建议。该项目
2026-01-30 09:35:05
1359
3
原创 力扣刷题之路
本文通过三道算法题探讨了从暴力解法到优化思路的跃迁过程。967题展示了如何通过DFS回溯减少无效计算;48题利用两次翻转替代旋转实现原地矩阵变换;382题采用蓄水池抽样算法解决大数据随机选择问题。文章强调算法思维的核心在于透过表象发现本质规律,从"暴力AC"转向追求更优解,如减少无效计算、降低空间复杂度或适应大数据场景。这种思维训练才是刷题的核心价值,能够帮助开发者面对复杂问题时找到更本质的解题路径。
2026-01-16 16:39:53
1106
20
原创 力扣刷题之路
本文通过三道经典算法题(岛屿面积、反转链表、分发糖果)剖析算法思维的进阶路径。在岛屿问题中,采用DFS"淹没式"遍历实现空间优化;反转链表问题展示了递归"后序思维"相较于迭代的优势;分发糖果问题则通过两次贪心遍历拆分约束条件。算法的"深度"体现在空间优化(原地修改代替额外存储)、思维转换(递归代替迭代)和约束拆分(两次遍历满足不同条件)三个方面,而非单纯追求代码复杂度。这些案例揭示了高效算法设计的核心在于思路的迭代优化。
2026-01-16 12:19:12
17422
12
原创 测试常用函数(下)
本文介绍了Selenium自动化测试中的核心操作技巧。主要内容包括:窗口操作方法(切换、大小设置、句柄复用);三种截图方式(基础与进阶);等待机制对比(强制/隐式/显示等待);浏览器导航控制;三类弹窗处理方案;文件上传实现;以及浏览器参数设置(无头模式、页面加载策略)。这些基础操作涵盖了自动化测试中常见的页面交互场景,掌握这些技能可以显著提升测试脚本的稳定性和效率。
2026-01-02 17:46:50
1151
26
原创 测试常用函数(上)
本文介绍了Web自动化测试中的两种核心元素定位方法:CSS选择器和XPath。CSS选择器通过id、class等属性快速定位元素,适合简单场景;XPath则更灵活,支持复杂路径、属性匹配和文本查找。文章详细讲解了find_element和find_elements的使用场景,并以百度搜索和热搜为例进行演示。同时对比了两种定位方式的优劣,建议根据场景灵活选用。最后强调应优先选择稳定的元素特征进行定位,避免因页面结构变化导致脚本失效。
2025-12-31 21:55:55
1221
11
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅