当前位置: 首页 > news >正文

软件测试小讲

在这里插## 标题入图片描述

大家好,我是程序员小羊!

前言:

在 Web 项目开发中,全面的测试是保证系统稳定性、功能完整性和良好用户体验的关键。下面是一个详细的 Web 项目测试点列表,涵盖了不同方面的测试:

1. 功能测试

确保应用程序的每个功能按预期运行。

  • 页面功能测试

    • 测试每个页面的加载是否正常。
    • 验证页面中的按钮、链接、表单和下拉菜单等元素的功能是否有效。
    • 测试表单提交功能,包括必填字段验证、输入格式校验、错误提示等。
    • 测试用户注册、登录、退出、密码找回等功能。
  • 用户权限管理

    • 确保不同权限的用户访问正确的页面和功能。
    • 验证用户角色的访问控制是否符合预期。
  • 搜索功能

    • 测试搜索框的关键词输入、搜索结果的相关性、排序和分页等功能。
  • 数据处理

    • 测试数据的创建、读取、更新和删除(CRUD 操作)是否正常。
  • 多语言支持

    • 如果有多语言支持,测试各语言版本的页面内容是否准确且符合语言规则。

2. 性能测试

确保 Web 项目在高并发或大数据量下能稳定运行。

  • 响应时间

    • 测试不同页面的加载时间,确保在合理时间内加载完成。
  • 并发测试

    • 模拟多个用户同时访问系统,检测系统在高并发下的表现(如登录、提交订单等操作)。
  • 压力测试

    • 测试系统在超高负载情况下的表现,查看系统是否会崩溃或变得不稳定。
  • 负载测试

    • 模拟大量请求,测试系统在持续负载下的稳定性和性能。

3. 安全性测试

确保 Web 项目不会受到安全漏洞的影响。

  • 注入攻击

    • 测试 SQL 注入、XSS(跨站脚本)等常见注入漏洞,确保系统不容易受到攻击。
  • 跨站请求伪造(CSRF)

    • 测试 Web 应用是否易受到 CSRF 攻击。
  • 身份验证与授权

    • 测试登录、注册、身份验证功能的安全性,防止未授权的访问。
  • 密码强度和存储

    • 确保密码存储方式是加密的(如哈希算法),并且密码强度符合要求。
  • 会话管理

    • 测试会话过期时间、会话固定攻击和会话劫持攻击等。

4. 兼容性测试

确保 Web 项目在不同的环境下运行无误。

  • 浏览器兼容性

    • 测试应用在主流浏览器(如 Chrome、Firefox、Edge、Safari)上的表现,确保页面元素正常显示和功能正常使用。
  • 移动设备兼容性

    • 测试应用在不同屏幕尺寸、分辨率的移动设备(如手机、平板)上的表现。
  • 操作系统兼容性

    • 测试应用在不同操作系统(如 Windows、macOS、Linux)上的表现。

5. UI/UX 测试

确保 Web 项目在用户体验和界面设计上的质量。

  • 页面布局和设计

    • 测试各页面元素是否按设计要求显示(如字体、颜色、按钮样式等)。
  • 响应式设计

    • 测试页面是否适配不同设备、不同尺寸的屏幕。
  • 可用性测试

    • 测试用户在实际使用过程中是否能够直观、顺利地完成任务。
  • 交互设计

    • 测试页面中动态效果、动画、过渡等是否平滑、无卡顿。

6. 数据库测试

确保数据库的设计和操作不会影响系统性能或稳定性。

  • 数据完整性

    • 验证数据库中的数据是否一致、完整,确保所有数据的存储和查询正确。
  • 数据迁移

    • 测试数据迁移过程中的数据丢失或错误。
  • 事务管理

    • 确保事务的原子性、隔离性、一致性和持久性(ACID)。

7. API 测试

确保与外部系统交互的 API 接口正常工作。

  • 接口功能测试

    • 测试各个 API 的功能是否按预期工作,验证返回数据的正确性。
  • 接口性能测试

    • 测试 API 的响应时间,确保在高并发情况下能够快速响应。
  • 接口安全性

    • 确保接口具有适当的身份验证和授权措施,防止未授权访问。
  • 错误处理

    • 测试 API 错误响应,确保错误信息清晰明了,且不会泄露敏感信息。

8. 回归测试

确保代码变动或功能改进没有影响到现有系统的功能。

  • 功能回归

    • 在每次代码提交或更新后,测试现有功能是否依然正常。
  • 界面回归

    • 检查界面元素是否因前端或后端的更改而失效或破坏布局。

9. 国际化与本地化测试

确保 Web 项目能在全球范围内顺利使用。

  • 日期和时间格式

    • 确保在不同地区使用不同的日期、时间格式。
  • 货币格式

    • 确保货币显示符合各地区的规定。
  • 字符编码

    • 确保在不同语言环境下,字符编码不出现乱码问题。

10. 日志与监控测试

确保 Web 项目有良好的日志记录和监控机制。

  • 日志记录

    • 确保系统中的错误和重要操作有适当的日志记录,便于后续排查和监控。
  • 实时监控

    • 确保系统在生产环境中具备有效的实时监控,能够及时发现异常并采取措施。

结尾

今天这篇文章就到这里了,大厦之成,非一木之材也;大海之阔,非一流之归也。感谢大家观看本文

在这里插入图片描述

在这里插入图片描述

相关文章:

软件测试小讲

​ 大家好,我是程序员小羊! 前言: 在 Web 项目开发中,全面的测试是保证系统稳定性、功能完整性和良好用户体验的关键。下面是一个详细的 Web 项目测试点列表,涵盖了不同方面的测试: 1. 功能测试 确保应用…...

DP35 【模板】二维前缀和 ---- 前缀和

目录 一&#xff1a;题目 二&#xff1a;算法原理 三&#xff1a;代码实现 一&#xff1a;题目 题目链接&#xff1a;【模板】二维前缀和_牛客题霸_牛客网 二&#xff1a;算法原理 三&#xff1a;代码实现 #include <iostream> #include <vector> using name…...

C语言——分支语句

在现实生活中&#xff0c;我们经常会遇到作出选择和判断的时候&#xff0c;在C语言中也同样要面临作出选择和判断的时候&#xff0c;所以今天&#xff0c;就让我们一起来了解一下&#xff0c;C语言是如何作出选择判断的。 目录 1.何为语句&#xff1f; 2.if语句 2.1 if语句的…...

使用Docker安装Jenkins

1、准备 2、安装 详见&#xff1a; https://www.jenkins.io/doc/book/installing/ https://www.jenkins.io/zh/doc/book/installing/ https://www.jenkins-zh.cn/tutorial/get-started/install/ # 方式1&#xff1a; # 详见&#xff1a;https://www.jenkins.io/doc/book/inst…...

东方博宜OJ ——2395 - 部分背包问题

贪心入门 ————2395 - 部分背包问题 2395 - 部分背包问题题目描述输入输出样例问题分析贪心算法思路代码实现总结 2395 - 部分背包问题 题目描述 阿里巴巴走进了装满宝藏的藏宝洞。藏宝洞里面有 N (N < 100)堆金币&#xff0c;第i堆金币的总重量和总价值分别是mi,vi (l …...

【期中准备特辑】计组,电路,信号

计组 以点带面地复习书中内容&#xff01; 指令体系结构&#xff08;ISA&#xff09;是计算机硬件和软件的分界面 世界上第一台电子计算机是 ENIAC&#xff08;埃尼阿克&#xff09; 第一代计算机采用电子管作为主要器件&#xff1b;第二代计算机采用晶体管&#xff1b;第三代…...

经典算法 判断一个图是不是树

判断一个图是不是树 问题描述 给一个以0 0结尾的整数对列表&#xff0c;除0 0外的每两个整数表示一条连接了这两个节点的边。假设节点编号不超过100000大于0。你只要判断由这些节点和边构成的图是不是树。是输出YES&#xff0c;不是输出NO。 输入样例1 6 8 5 3 5 2 6 4 5…...

力扣 283 移动零的两种高效解法详解

目录 方法一&#xff1a;两次遍历法 方法二&#xff1a;单次遍历交换法 两种方法对比 在解决数组中的零移动到末尾的问题时&#xff0c;我们需要保持非零元素的顺序&#xff0c;并原地修改数组。以下是两种高效的解法及其详细分析。 方法一&#xff1a;两次遍历法 思路分析…...

代码随想录第18天:二叉树

一、修剪二叉树&#xff08;Leetcode 669&#xff09; 递归法 class Solution:def trimBST(self, root: TreeNode, low: int, high: int) -> TreeNode:# 如果当前节点为空&#xff0c;直接返回空节点&#xff08;递归终止条件&#xff09;if root is None:return None# 如果…...

KMP算法核心笔记:前后缀本质与nextval实现

KMP算法核心笔记&#xff1a;前后缀本质与nextval实现 核心疑问&#xff1a;为什么用「前后缀」而非「最大子串」&#xff1f; 1. 结构唯一性 前后缀限定在字符串首尾区域&#xff0c;最大子串可位于任意位置只有前后缀能保证滑动后的有效对齐 2. 移动确定性 文本&#xf…...

Breeze 40A FOC 电调:Vfast 观测器技术赋能无人机精准动力控制

核心技术特性 1. 全新Vfast 观测器技术 基于先进矢量控制算法&#xff08;FOC 驱动&#xff09;&#xff0c;实现电机状态实时精准观测&#xff0c;适配性优于传统 FOC 方案&#xff0c;兼容主流无人机动力配置。高效算法设计&#xff0c;输出功率与力效超越多数方波电调&…...

如何处理ONLYOFFICE文档服务器与Java Web应用间的安全认证和授权

如何处理ONLYOFFICE文档服务器与Java Web应用间的安全认证和授权&#xff1f; 处理 ONLYOFFICE 文档服务器与 Java Web 应用之间的安全认证和授权&#xff0c;通常涉及以下几个关键步骤和技术&#xff1a; 1. JWT (JSON Web Token) 认证 启用 JWT&#xff1a; ONLYOFFICE 文档…...

手机上的PDF精简版:随时随地享受阅读

在移动互联网时代&#xff0c;随时随地阅读电子书和文档已经成为许多人的习惯。无论是学习、工作还是娱乐&#xff0c;一款好用的PDF阅读器都是必不可少的工具。今天&#xff0c;我们要介绍的 思读PDF精简版&#xff0c;就是这样一款简洁而强大的PDF阅读工具&#xff0c;能够让…...

XCTF-web(一)

view_source F12ctrluctrlshiftiURL前添加&#xff1a;view-source:curl http://192.168.1.1robots 根据题目提示&#xff0c;查看一下robots.txt /flag_ls_h3re.php backup /index.php.bak ┌──(kali㉿kali)-[~] └─$ cat index.php.bak <html> <…...

字节跳动开源 Godel-Rescheduler:适用于云原生系统的全局最优重调度框架

背景 在云原生调度中&#xff0c;一次调度往往无法解决所有问题&#xff0c;需要配合重调度来优化资源分配和任务摆放。传统的重调度框架主要集中在识别异常节点或任务&#xff0c;并通过迁移或删除来解决。然而&#xff0c;这些框架往往只能解决局部问题&#xff0c;无法提供…...

贪心算法day9(合并区间)

1.合并区间 56. 合并区间 - 力扣&#xff08;LeetCode&#xff09; 对于这种区间问题&#xff0c;我们应该先排序根据排序的结果总结一些规律&#xff0c;进而的得出解决该问题的策略。 class Solution {public static int[][] merge(int[][] intervals) {//第一步进行左端点…...

插件化设计,打造个性化音乐体验!

打工人们你们好&#xff01;这里是摸鱼 特供版~ 今天给大家带来一款超酷的音乐播放器——MusicFree&#xff0c;它不仅功能强大&#xff0c;还支持插件化设计&#xff0c;让你的音乐体验更加个性化&#xff01; 推荐指数&#xff1a;★★★★★ 1. 插件化设计 功能强大&#…...

深入解析分类模型评估指标:ROC曲线、AUC值、F1分数与分类报告

标题&#xff1a;深入解析分类模型评估指标&#xff1a;ROC曲线、AUC值、F1分数与分类报告 摘要&#xff1a; 在机器学习中&#xff0c;评估分类模型的性能是至关重要的一步。本文详细介绍了四个核心评估指标&#xff1a;ROC曲线、AUC值、F1分数和分类报告。通过对比这些指标…...

2025第16届蓝桥杯省赛之研究生组F题01串求解

2025第16届蓝桥杯省赛之研究生组F题01串求解 一、题目概述二、解题思路2.1题目分析2.2解题思路 三、求解代码3.1求解步骤3.1.1求解x所在的二进制位数区间3.1.2求解总位数为cnt的含1数3.1.3求解cnt1~x之间的含1数 3.2完整代码3.3代码验证 四、小结 一、题目概述 给定一个由0,1,…...

【2-10】E1与T1

前言 之前我们简单介绍了人类从电话线思维到如今的数据报分组交换思维过渡时期的各种技术产物&#xff0c;今天我们重点介绍 E1/T1技术。 文章目录 前言1. 产生背景2. T13. E14. SONET4.1 OC-14.2 OC-3 及其它 5. SDH5.1. STM-1 6. SONET VS SDH后记修改记录 1. 产生背景 E1/…...

2025 年蓝桥杯 Java B 组真题解析分享

今年是我第二次参加蓝桥杯软件类Java B组的比赛&#xff0c;虽然赛前做了不少准备&#xff0c;但真正坐在考场上时&#xff0c;还是有种熟悉又紧张的感觉。蓝桥杯的题目一向以“基础创新”著称&#xff0c;今年也不例外&#xff0c;每道题都考验着我们对算法的理解、代码实现能…...

IMX6ULL2025年最新部署方案2在Ubuntu24.04上编译通过Qt5.12.9且部署到IMX6ULL正点原子开发板上

IMX6ULL2025年最新部署方案2:在Ubuntu24.04上编译通过Qt5.12.9且部署到IMX6ULL正点原子开发板上 前言 ​ 本篇方案部署是笔者这几天除了打蓝桥杯以外&#xff0c;笔者在研究的东西&#xff0c;现在写道这里的时候&#xff0c;笔者已经成功的在Ubuntu24.04上&#xff0c;使用默…...

通过微信APPID获取小程序名称

进入微信公众平台&#xff0c;登录自己的小程序后台管理端&#xff0c;在“账号设置”中找到“第三方设置” 在“第三方设置”页面中&#xff0c;将页面拉到最下面&#xff0c;即可通过appid获取到这个小程序的名称信息...

混合开发部署实战:PyInstaller + .NET 8 + Docker全链路配置

文章目录 一、PyInstaller打包Python环境1. 基础打包&#xff08;Linux环境&#xff09;2. 高级配置3. 验证打包结果 二、.NET 8与Python的集成模式1. 进程调用&#xff08;推荐方案&#xff09;2. REST API通信 三、Docker多阶段构建配置1. 完整Dockerfile示例2. 关键配置解析…...

使用 Sass 打造动态星空背景效果

在前端开发中&#xff0c;视觉效果越来越受到重视。本文将通过一个生动的示例&#xff0c;讲解如何利用 Sass 构建一个具有动态星空滚动效果的背景页面&#xff0c;同时也系统介绍 Sass 的核心功能与实践技巧。 一、Sass 的作用 Sass&#xff08;Syntactically Awesome Style …...

低空经济有哪些GIS相关岗位?

在低空经济中&#xff0c;GIS&#xff08;地理信息系统&#xff09;技术发挥着重要作用。GIS开发工程师负责开发、维护和优化与低空经济相关的GIS系统&#xff0c;如无人机起降场布局、空域管理、气象监测等。一般会参与二、三维GIS项目数据处理与前端开发&#xff0c;以及相关…...

Python 垃圾回收机制全解析:内存释放与优化

在编写高效、稳定的 Python 程序时&#xff0c;内存管理往往是一个被忽视但至关重要的领域。对于 Python 开发者来说&#xff0c;最初的学习曲线通常集中在语法、库使用和应用框架上&#xff0c;而对于内存管理和垃圾回收&#xff08;GC&#xff0c;Garbage Collection&#xf…...

性能优化实践

4.1 大规模量子态处理的性能优化 背景与问题分析 量子计算中的大规模量子态处理(如量子模拟、量子态可视化)需要高效计算和实时渲染能力。传统图形API(如WebGL)在处理高维度量子态时可能面临性能瓶颈,甚至崩溃(如表格中14量子比特时WebGL的崩溃)。而现代API(如WebGPU…...

opentelemetry笔记

span https://github.com/open-telemetry/opentelemetry-cpp/blob/f987c9c094f276336569eeea85f17e361de5e518/sdk/src/trace/span.h 在 OpenTelemetry C 的 sdk/src/trace 目录中&#xff0c;不同的 span 定义和实现是为了支持追踪&#xff08;Tracing&#xff09;功能的多样…...

【JavaScript】二十一、日期对象

文章目录 1、实例化日期对象2、相关方法3、时间戳4、案例&#xff1a;毕业&#x1f393;倒计时效果 1、实例化日期对象 获得当前时间 const date new Date()获得指定时间 const date new Date(2025-4-14 20:46:00) console.log(date)2、相关方法 方法作用说明getFullYear…...

GIT工具学习【1】:新安装git预操作

目录 1.写在前面2.为常用指令配置别名3.初始化4.解决中文乱码问题 1.写在前面 新安装git命令后&#xff0c;需要一些设置会用的比较的顺畅。 这篇文章只要跟着做即可&#xff0c;至于原理&#xff0c;后面会写清楚的。 2.为常用指令配置别名 #新建一个.bashrc touch ~/.bash…...

docker安装ES

ES安装步骤 1. 创建docker网络&#xff0c;使其docker内部通信 2. 下载 | 导入镜像文件&#xff08;ES Kibana&#xff09; 3. 创建容器&#xff0c;并访问 4. 安装Ik分词器&#xff08;es对中文并不友好&#xff0c;所以需要安装IK分词使其适配中文&#xff09; 1. 创建docke…...

【控制学】控制学分类

【控制学】控制学分类 文章目录 [TOC](文章目录) 前言一、工程控制论1. 经典控制理论2. 现代控制理论 二、生物控制论三、经济控制论总结 前言 控制学是物理、数学与工程的桥梁 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、工程控制论 1. 经典…...

人工智能应用开发中常见的 工具、框架、平台 的分类、详细介绍及对比

以下是人工智能应用开发中常见的 工具、框架、平台 的分类、详细介绍及对比&#xff1a; 一、工具&#xff08;Tools&#xff09; 定义&#xff1a;用于完成特定任务的软件或库&#xff0c;通常专注于开发流程中的某个环节&#xff08;如数据处理、模型调试、部署等&#xff…...

Linux磁盘格式化(mkfs、mkfs.xfs、mkfs.ext4)、Linux文件系统的校验(xfs_repair、fsck_ext4)

在Linux系统中,磁盘格式化和文件系统校验是系统管理的重要任务。以下是关键步骤和命令的总结: 磁盘格式化 1. 选择文件系统类型 XFS:适用于大文件和高并发场景,支持高性能和扩展性。ext4:成熟稳定的通用文件系统,适合大多数场景。2. 格式化命令 通用格式: sudo mkfs -…...

Android学习总结之git篇

Git 的原理时&#xff0c;你可以从数据结构、对象存储、引用管理、分支与合并等方面结合源码进行分析。以下是详细介绍&#xff1a; 1. 基本数据结构和对象存储 Git 底层主要基于四种对象来存储数据&#xff1a;blob&#xff08;数据块&#xff09;、tree&#xff08;树&…...

Python基础语法——类型

目录 类型的意义动态类型静态类型 类型的意义 不同的类型,占用的内存空间是不同的. 占几个字节 int 默认是 4 个字节.动态扩容 float 固定 8 个字节 bool 一个字节就足够了 str 变长的 不同的类型,对应能够进行的操作也是不同的 int/float, “” “-” “ * ” “/”——不能使…...

vue2中基于el-select封装一个懒加载下拉框

需求 当下拉选项的数据量过大时&#xff0c;后端接口是分页格式返回数据。 解决方案 自定义封装一个懒加载下拉组件&#xff0c;每次滚动到底部时自动获取下一页数据&#xff0c;这样可有效防止数据量过大时造成组件卡顿。 具体实现步骤 1、创建懒加载下拉选择组件 <t…...

uniapp的h5,打开的时候,标题会一闪而过应用名称,再显示当前页面的标题

问题&#xff1a; 微信小程序&#xff0c;通过webview打开了uniapp创建的h5&#xff0c;但是打开h5时&#xff0c;会先显示h5的应用名称&#xff0c;然后才切换为该页面的标题。 过程&#xff1a; 查过很多资料&#xff0c;有说修改应用名称&#xff0c;有说设置navigationS…...

HarmonyOS 5 开发环境全解析:从搭建到实战

鸿蒙来了&#xff0c;从 1.0 到 5.0&#xff0c;它不再只是“华为的操作系统”&#xff0c;而是万物互联生态的核心驱动。作为开发者&#xff0c;你准备好拥抱这个全新时代了吗&#xff1f; 你是否还在犹豫&#xff1a;HarmonyOS 5 开发门槛高不高&#xff1f;该用 DevEco Stu…...

2.2 函数返回值

1.回顾def def sum(x,y): return xy res sum(10,20) #调用函数 print(res) 2.函数的三个重要属性 -函数的类型&#xff1a;function -函数的ID&#xff1a;16进制的整数数值 -函数的值&#xff1a;封装在函数中的数据和代码 # - 函数是一块内存空间&#xff0c;通过…...

OpenAI发布GPT-4.1:开发者专属模型的深度解析 [特殊字符]

最近OpenAI发布了GPT-4.1模型&#xff0c;却让不少人感到困惑。今天我们就来深入剖析这个新模型的关键信息&#xff01; 重要前提&#xff1a;API专属模型 &#x1f4bb; 首先需要明确的是&#xff0c;GPT-4.1仅通过API提供&#xff0c;不会出现在聊天界面中。这是因为该模型主…...

Cython中操作C++字符串

使用Cython开发Python扩展模块-CSDN博客中文末对python代码做了部分C优化&#xff0c;并提及未对字符串类型做优化&#xff0c;并且提到如果不是真正搞懂了C字符串的操作和Python的C API中与字符串相关的知识&#xff0c;最好不要动Python中的字符串类型。为了搞明白在Cython中…...

Dify插件内网安装,解决Dify1.x插件安装总失败问题,手把手教你暴力破解:从镜像源到二进制打包全攻略

背景 自从dify升级到1.0以后&#xff0c;所有的工具和模型都改成了插件化&#xff0c;需要进行插件的安装。在手撕Dify1.x插件报错&#xff01;从配置到网络到Pip镜像&#xff0c;一条龙排雷实录 已经指出了dify在线安装插件的各种问题。 首发地址 在前面的几个版本中&…...

二极管详解:特性参数、选型要点与分类

一、二极管的基本定义 二极管&#xff08;Diode&#xff09; 是由半导体材料&#xff08;如硅、锗&#xff09;构成的双端器件&#xff0c;核心特性是单向导电性。其结构基于PN结&#xff0c;正向偏置导通&#xff0c;反向偏置截止。 核心功能&#xff1a; 整流&#xff08;交…...

BufferedOutputStream 终极解析与记忆指南

BufferedOutputStream 终极解析与记忆指南 一、核心本质 BufferedOutputStream 是 Java 提供的缓冲字节输出流&#xff0c;继承自 FilterOutputStream&#xff0c;通过内存缓冲区显著提升 I/O 性能。 核心特性速查表 特性说明继承链OutputStream → FilterOutputStream → …...

Google政策大更新:影响金融,新闻,社交等所有类别App

Google Play 4月10日 迎来了2025年第一次大版本更新&#xff0c;新政主要涉及金融&#xff08;个人贷款&#xff09;&#xff0c;新闻两个行业。但澄清内容部分却使得所有行业都需进行一定的更新。下面&#xff0c;我们依次从金融&#xff08;个人贷款&#xff09;&#xff0c;…...

【Linux网络与网络编程】10.网络层协议IP

前言 我们之前谈的主机B把数据传递给主机C过程都是黑盒式的&#xff0c;即并没有考虑它的中间过程。本篇博客和下一篇博客将要考虑的问题是&#xff1a;主机B和主机C并不是直接连接的&#xff0c;主机B想要把数据传输给主机C需要经过若干路由器的。我们就引出了两个问题&#x…...

Docker 搭建 RabbitMQ

Docker 搭建 RabbitMQ 前言一、准备工作二、设置目录结构三、编写启动脚本四、Host 网络模式 vs Port 映射模式1. Host 网络模式2. Port 映射模式 五、端口配置对比六、配置示例七、查看与管理八、扩展与高可用九、常用命令 前言 在现代微服务与分布式架构中&#xff0c;Rabbi…...

浏览器自动化检测对抗:修改navigator.webdriver属性的底层实现

一、背景介绍&#xff1a;你被自动化检测拒之门外了吗&#xff1f; 在使用 Selenium 或 Playwright 等浏览器自动化工具爬取数据时&#xff0c;经常会遇到「被检测」问题&#xff0c;尤其像 Amazon 这样反爬策略严密的网站。常见的检测机制之一就是检查 JavaScript 中的 navig…...