前端链接测试从入门到落地:href 检测方案与实战经验
做前端开发这些年我越来越确定一件事链接测试是所有页面检查里最容易被忽略、但一旦翻车影响面又最大的环节。“test href”这个短语初看像占位符实际上它点破了一个很实在的动作——把页面里每一个 a 标签的 href 都当成潜在事故点逐个验证、逐个确认。这篇文章会把链接测试这件事从头讲透为什么要测、怎么测、用什么工具测、踩过的坑都有哪些并提供一套可以直接拿去用的检测脚本。新手可以照着清单做手动检查老手可以直接把方案挂到发布流程里。1. 链接测试的基本盘href 到底在背后做了什么1.1 href 是什么浏览器怎么处理一个链接很多人只知道 a 标签的 href 属性填一个地址但对浏览器拿到这个值之后发生什么并不清楚。href 的全称是 Hypertext Reference也就是超文本引用。浏览器遇到一个带有效 href 的 a 标签时会做这样几件事先按照当前页面的 URL 把 href 解析成一个完整地址然后根据这个完整地址发起 HTTP 请求拿到响应之后判断内容类型最后决定是当前页跳转、新开标签页还是触发下载。任何一个环节出问题用户看到的都是链接“点了没反应”或者“跳到了奇怪的地方”。理解这条链路后面所有测试方法才有依据。这里有个常被忽略的细节浏览器解析 href 时依据的是当前文档的地址而不是你以为的某个“项目根目录”。如果当前页面 URL 是https://example.com/a/b/链接填about.html浏览器会解析成https://example.com/a/b/about.html如果链接填/about.html则解析成https://example.com/about.html。一个相对路径和一个绝对路径差一个斜杠结果完全两个世界。理解了这套规则你就知道很多链接问题其实不是“服务器上文件不存在”而是“浏览器解析出来的地址和你想要的根本不是同一个”。1.2 “test href”要测的三层风险把链接测试拆开看要验证的无非是三件事。第一层是目标存在性href 指向的地址能不能正常返回会不会出现 404、500 或者超时。第二层是目标正确性地址能打开但打开的内容是不是用户当初想看的比如“联系我们”指向了首页、“下载”按钮指向了详情页这类语义错位最隐蔽。第三层是跳转行为正确性外链有没有正确新开窗口、有没有被重定向到多余的中转页、带着参数跳转时参数有没有丢失。实践中很多人只测第一层后面两层往往要等到用户反馈才发现。我见过最典型的一个例子某网站的产品详情页里“立即购买”按钮的 href 指向的是商品介绍页的地址因为接口返回的字段被前端多包了一层导致 URL 拼接多了个前缀。点击之后页面能正常打开商品展示也没问题用户就是无法下单。这种问题用脚本测状态码完全测不出来因为服务器返回的确实是 200。所以做链接测试心里一定要装着这三层风险不能只盯着状态码。1.3 谁需要这套方法刚接触网站维护的新人可以先用第 3 部分的手动清单把常用页面过一遍建立对链接风险的敏感性。负责公司官网、电商站或内容系统的开发者重点看脚本和 CI 集成让链接检查从一次性行为变成持续行为。专门做线上运营的同学也可以拿第 4 部分的速查表当验收标准在上线前自己先点一轮。链接测试不需要多深的背景知识但它需要一套方法而方法是可以直接复用的。2. href 的写法盘点每种值都有容易翻车的点2.1 绝对路径、相对路径、协议相对路径三个基础款的差异正式写测试方案之前先把 href 的几种常见值类型过一遍。绝对路径一般指从根开始或带完整域名的写法比如/about或https://example.com/about。相对路径则是不带开头的斜杠例如about或../about它依赖浏览器按当前 URL 的目录结构去解析。协议相对路径写成//example.com/api意思是沿用当前页面的协议。这三类各有各的坑站点部署到了子目录绝对路径/about会直接失效页面 URL 带.html时相对路径about解析出来的地址可能和你预想的完全不一样协议相对路径在本地 file 协议下打开更是直接不可用。我的习惯是站内链接统一用相对路径或绝对路径站外资源用完整协议地址少用协议相对路径。尤其是涉及 HTTPS 的页面保持简单比耍技巧可靠得多。你可能会问既然协议相对路径能自动匹配 http 和 https为什么不用因为一旦 HTML 文件被本地环境直接打开//example.com/xxx会被解析成file://example.com/xxx直接失效。而且静态页面部署到某些对象存储或 CDN 上这种写法也可能触发多余的请求跳转。与其省那一点字符不如把协议写完整减少一个变量。2.2 锚点、mailto、tel 与下载链接非 HTTP 目标的陷阱不是所有 href 都以 http 开头。锚点链接写#section它做的是页面内定位不触发网络请求测试时不能用状态码判断得看对应 id 是否存在、位置对不对。这块最常见的问题是链接指向的 id 在动态渲染后根本不存在或者页面里有两个相同 id点击之后跳到的位置不是用户预期的那一段。锚点链接在单页应用里尤其要小心路由切换之后原来的 id 可能已经被销毁再从别的页面带着锚点进来反而会直接定位失败。mailto 链接的坑主要出现在链接格式里比如收件人地址前忘了写mailto:、直接在 href 里写了带空格的多收件人地址或者没有在参数里做 URL 编码导致点击后邮箱软件收到的地址损坏。tel 链接同样要注意号码里的空格、括号和加号处理尤其是要兼容手机端拨号。下载链接则要额外检查服务器返回的 Content-Disposition 头否则点了半天可能直接打开了文件而不是下载。每次测试都把这些特殊类型单列出来别和普通 HTTP 链接混在一套逻辑里。2.3 空值、缺失值和 javascript: 协议的边界另一个容易踩坑的地方是 href 的空值和特殊协议。有些前端习惯用a hrefjavascript:void(0)来做一个“假链接”再通过 onclick 绑定事件。这种做法不是完全不能碰但你必须考虑用户右键新开窗口时会发生什么、在没有 JavaScript 的环境里节点是否可用、以及被爬虫收录时会不会产生一堆无意义链接。更稳妥的写法是如果这个元素本质是一个按钮就用 button 而不是 a 标签如果一定要用 a也把 href 指向一个真实的回退地址或者用键盘可聚焦的方式处理。还有一类问题是 href 属性直接缺失或为空字符串a href这类链接在部分浏览器里会把当前页面地址当作目标点击之后整个页面被刷一遍如果恰好绑定了一个 onSubmit 事件很容易造成表单重复提交。这类链接在测试抓链脚本里特别容易被忽略因为脚本判断“有 href 属性就测”但空值的目标是当前页请求必然成功你根本发现不了异常。我的做法是把空 href 和缺失 href 单独建立一条检查规则不从请求状态判断而是直接要求这类元素的交互方式必须符合无障碍和可用性的基础标准。2.4 中文、空格、编码与大小写那些“看不见”的失败原因还有一类链接问题在代码里看没什么异常上线后却一批一批报错。中文路径没有做 URL 编码是最常见的一个浏览器地址栏里能自动显示中文但在 href 里直接写中文如果没有经过编码部分浏览器、部分服务器环境下会解析失败。文件路径里带空格也一样得写成%20否则服务器识别出来的路径不对。大小写是另一个隐形杀手特别是部署在 Linux 服务器上的站点文件系统区分大小写链接里写错了某个字母的大小写就会出现 404而在本地 Windows 测试时一切正常。这类问题靠肉眼查非常痛苦所以在后面的脚本检测里我会把链接规范化处理作为第一步先把 href 转成统一规格再做请求验证。实际动手时可以先用标准库里的 URL 解析函数把路径里的中文、空格做一次 encode再把协议、域名、路径拆开逐一比对。你会发现很多所谓“时好时坏”的链接问题本质都是编码处理不一致运气好时服务器容忍了运气不好就全线飘红。3. 手动加自动一套可以照抄的链接检测方案3.1 发布前的手动检查清单我给团队做上线检查时一直保留一张手动清单原因是自动脚本覆盖不了所有场景特别是视觉和交互层面的判断。清单大概这样全站页面走一遍站内导航确认所有主导航、底部导航和面包屑链接都落在正确页面所有“了解更多”“查看详情”类文字链接点进去内容相符页面里的图片、样式、脚本资源加载正常控制台无 404外链类链接全部验证新开窗口并且加上安全的 target 属性处理表单页、登录页的提交按钮是真实按钮而不是假链接。看起来都是常识但实际执行一遍只需要半小时能挡住绝大多数低级事故。做完以后把发现的问题记在一个共享文档里下次上线前对照上次的问题清单再过一遍效率会高很多。手动检查的意义不光是发现坏链更是在团队里反复强化“链接是产品的一部分”这个意识。很多运营和产品经理其实不看代码但他们需要知道一个链接写错了不是改一行代码的事而是会让用户对整个网站的信任打折扣。3.2 用脚本扫全站链接状态码手动之后就需要上脚本了。我最常用的一个方式是用 Python 写一个链接检查器从站点首页开始解析页面里所有 a 标签把 href 收集起来用 urljoin 把相对路径转成完整地址再对站内链接发起请求看状态码。下面这个脚本可以拿来改改直接用import requests from bs4 import BeautifulSoup from urllib.parse import urljoin, urlparse def check_links(start_url, max_pages50): visited_pages set() broken_links [] def visit(page_url): if page_url in visited_pages: return visited_pages.add(page_url) try: resp requests.get(page_url, timeout10) except requests.RequestException: broken_links.append((page_url, 请求异常)) return soup BeautifulSoup(resp.text, html.parser) for a in soup.find_all(a, hrefTrue): target urljoin(page_url, a[href]) if urlparse(target).scheme not in (http, https): continue if target.startswith(start_url): try: check requests.get(target, timeout10) if check.status_code 400: broken_links.append((target, check.status_code)) except requests.RequestException: broken_links.append((target, 请求异常)) return visit(start_url) return broken_links稍微解释一下这个脚本的逻辑先用 requests 拉取页面 HTML用 BeautifulSoup 解析出所有 a 标签再通过 urljoin 处理相对路径最后拿 status_code 判断。实际跑通版本还需要加一个待访问队列、去重集合、最大抓取页数限制并且对外链做采样而不是全量请求防止被别人服务器的反爬限制拦住。我写代码时的另一个习惯是把 3xx 状态单独列出来因为某个链接进入重定向不一定代表坏了但重定向链路过长会影响体验值得单列观察。这里额外提醒一句脚本检测坏链时要留意“软 404”的情况。有些服务端程序把所有不存在的路径都统一返回首页或者 200 状态这种场景下状态码检测会完全失效。为了对付软 404我会在脚本里做一次内容判断拉回来的页面标题如果和首页一致且不是预期目标就标记为可疑链接。这个技巧能帮你抓到很多传统检测工具发现不了的问题。3.3 无头浏览器做真实点击验证请求头验证只能证明“资源存在”不等于“用户体验正常”。有些链接依赖 JavaScript 跳转、依赖 cookie或者页面本身是前端渲染的单页应用只拉 HTML 拿不到真实 DOM。这时候我会用无头浏览器自动化来补充。做法是启动无头浏览器打开页面等渲染完成后收集所有可见链接逐个点击后判断新页面是否正常打开。针对锚点链接点击之后判断对应 id 的元素是否出现在视口里针对外链点击后判断是否有新标签页产生。用无头浏览器测链接重点不是快而是真实。它会把浏览器解析 URL、执行脚本、发起网络请求的全过程真实跑一遍能覆盖很多 curl 类脚本测不出来的场景。代价是跑得慢资源占用也高。所以我一般把它放到预发布环境上跑而不是每个分支都全量执行。跑的时候还要注意登录态、验证码这类需要人工参与的步骤直接标记跳过不要为了自动化而把整个流程设计得过于复杂。自动化是辅助人不是替代人。3.4 挂到 CI链接检测成为发布流程的一部分脚本和无头浏览器跑完以后下一步就是把检测固化到发布流程里。我在项目里常用的做法是在代码提交后或者构建产物生成后自动执行一轮链接检查如果发现有坏链脚本退出码非零就直接阻塞合并或发布。这样链接的坏消息会在用户发现之前先到自己手里。配置上思路大致是准备好一个 check_links.py 脚本在 CI 流水线里拉代码、装依赖、启动测试服务然后运行脚本最后把报告作为构建产物归档。这一步的价值在于把链接测试从“人工想起来才测”变成“每次变更都自动执行”。发布流程里一旦出现了坏链自动化会第一时间报警而不是等运营同学收到用户投诉才来反馈。我建议刚开始做 CI 集成的时候不要设置得太严格先让它只读、只报告观察两周确认误报率很低之后再开启阻塞逻辑。否则一个误报天天卡发布团队很快会对这个环节失去信任。4. 链接测试高频问题与排查实录4.1 高频问题速查表现象最可能的根因处理建议全站都 404本地正常部署子路径和代码里绝对路径不一致检查根路径配置统一用相对路径或注入 base 值只有某个链接 404文件名大小写或路径少了一层对照服务器实际目录核对链接能打开但是空白页目标依赖入口参数或 cookie检查跳转参数传递必要时用无头浏览器验证点击链接后页面被刷新href 为空浏览器默认跳当前页改成 button 或明确设置阻止默认行为外链打开了新窗口但没带安全属性缺少 rel 处理给外链统一追加对 target_blank 的安全保护链接时好时坏编码处理不一致或缓存未更新统一做 URL 编码清理 CDN 缓存后再测速查表的功能不是让你背下来而是让排查有一个起点。遇到问题时先对照这张表判断是哪一个类别再往下挖细节。很多新手一看到坏链就慌不知道该看代码还是看服务器这张表能帮你先定位方向。4.2 两个典型翻车现场从表象到根因讲两个我实际排查过的案例细节做了脱敏处理。第一个案例来自某公司官网改版上线后运营反馈“所有详情页的返回按钮都失效了”点回去浏览器直接 404。检查代码发现详情页里的返回链接写成了绝对路径/detail而真实页面部署在网关下多加了一层上下文路径根路径解析不到。后来把全站链接改成基于当前目录的相对路径并给构建系统统一注入了正确的 base 值问题才彻底消失。这个案例的教训是链接测试不能只在测试环境验证上线环境的基础路径差异也要纳入检查范围。第二个案例是某个模拟项目X的登录页用户点击“忘记密码”后跳到了一个看似正常的页面但提交邮箱时一直报错。查下来发现链接的 href 里带了未编码的中文参数后端拿到之后解析失败。修复时顺手把全站链接做了一次规范化把所有非 ASCII 字符做了编码。这个案例说明链接测试要走到“请求参数这一层”而不只是看地址返回 200 就算过。链接是否有效取决于目标服务端怎么理解这段 URL仅仅“能请求通”远远不够。4.3 排查思路锦囊排查链接问题时我一般按这个顺序推进先确认是单链接问题还是全站性问题单链接问题直接比对 href 值和服务器实际目录结构全站性问题优先检查 base 路径、域名配置和缓存。其次把脚本检测结果和浏览器实际体验结合起来看脚本说 200 但页面效果不对时用无头浏览器再走一遍流程最后把旧版本页面和当前页面做一遍链接清单对比很多问题其实是新旧版本混存造成的。这套顺序听起来简单但能避免大部分无效排查。还有一个细节很多人忽略排查链接问题时要看 Referer 和来源页面。有些服务器做了防盗链或者来源校验直接打开链接正常从某个页面跳转过去就 403。如果只测链接本身这个问题完全暴露不出来。所以我做全站链接测试时会模拟“从当前页面点击过去”的场景而不是单独把链接拿出来请求一遍。这个小动作能多发现不少隐蔽问题。5. 我实际用下来觉得最有价值的三条经验5.1 把“外链新窗口”和“内链同窗口”分开处理我做了这么多链接测试发现最难的不是技术而是“链接语义的一致性”。内链和外链的打开方式如果没有统一约定用户会非常困惑一会儿新窗口一会儿同窗口后退按钮时灵时不灵。我的经验是在项目层面定一条规则站内链接一律当前页跳转站外链接一律新窗口并做安全处理。测试时也按这条规则验收不一致的直接算缺陷。这条规则不费力气却能让链接测试有明确的判断标准。这里补充一个安全细节外链用新窗口打开时需要在链接上追加relnoopener noreferrer否则新页面可以通过引用对象反向操作原页面既有安全风险也会有性能问题。这段处理写到公共组件里新人和老人写出来的链接行为就完全一致了测试时只需要抽查公共组件有没有被绕过。5.2 检测报告比检测本身更重要脚本跑完输出一大堆状态码如果不整理基本等于白跑。我后来给链接检测脚本加了一个输出环节把坏链、重定向链、正常链接分别归类坏链要带来源页面和元素信息这样看到报告的人直接知道去哪里改。报告还可以按域名做分组因为一个站点里静态资源、接口地址、页面地址往往分布在不同域分开看更容易发现规律。好的检测方案不是“报错”的工具而是“定位问题”的工具。报告格式我一般用表格或结构化文本字段至少包括来源页面、目标链接、状态码、问题类型、建议操作。这样即使不是排查人也能看懂。如果一次跑出来几十条坏链不要指望开发逐条去看先把结果按根因聚类比如“根路径错误”归一类“文件大小写”归一类“外链过期”归一类每一类修复一个共同原因就能解决一批。5.3 永远保留一份可复用的链接白名单最后一件事给动态链接做白名单。站点里总有那么一些地址不是简单的固定路径比如带 token 的、验证码的、第三方支付的它们天生不适合自动化检测每次跑脚本都会产生误报。我的做法是把这类地址写进一个单独的白名单配置文件检测脚本读取白名单判断“跳过、只测可访问性、还是特殊处理”。不用每次上线重新手写维护成本很低误报率却能大幅下降。白名单文件里我会顺便记录原因和责任人比如“这条链接依赖登录态不适合自动化负责人是某开发者”。这样以后有人想追查为什么这条链接不测也不需要再去问一圈。更重要的是白名单不能只增不减每季度要清理一次把已经改造成静态地址的链接从白名单里移除让它们重新纳入自动化检测范围。链接测试从来没有真正“做完”过它更像是一个持续维护的过程。上面分享的方法和脚本核心目标都是把链接测试从可有可无的收尾动作变成发布流程里的一道固定工序。希望这份实战笔记能帮你省下一些排查坏链的夜晚。

相关新闻

Spring Security实战:前后端分离下JWT认证与权限控制指南

Spring Security实战:前后端分离下JWT认证与权限控制指南

1. 项目概述与整体设计思路 1.1 为什么要花大力气搞 Spring Security 刚接手某个模拟项目X的时候,我其实挺纠结的:项目里已经有了一套基于拦截器和 ThreadLocal 的简易登录体系,能跑、能用,看起来也没啥大毛病。但后来随着接口越…

2026/10/13 20:35:41 阅读更多 →
WordNet相似度计算实战:NLTK实现与踩坑指南

WordNet相似度计算实战:NLTK实现与踩坑指南

前阵子帮朋友看一个智能问答的小项目,发现最棘手的问题不在模型选型,而在一个看起来特别基础的需求上:用户问“怎么修车”,系统里明明有“汽车保养指南”,却因为关键词匹配不上,死活召回不到。这种问题说白…

2026/10/13 20:35:41 阅读更多 →
Linux用户与组管理完全指南:从UID/GID到权限隔离实战

Linux用户与组管理完全指南:从UID/GID到权限隔离实战

1. 用户与组管理到底在解决什么问题先说结论:用户与组管理是所有多用户操作系统最基础、也最容易被轻视的一道安全防线。我见过不少项目初期图省事,全部人共用一个账号,等到需要追责、隔离权限、清理环境的时候,才发现当初偷的懒全…

2026/10/13 20:35:41 阅读更多 →

最新新闻

PCL点云圆柱体分割实战:RANSAC原理、参数调优与工业应用

PCL点云圆柱体分割实战:RANSAC原理、参数调优与工业应用

做点云处理这几年,我有个特别深的体会:几乎每个项目里需要找的几何元素,翻来覆去就那么几种——平面、球、圆柱。平面最简单,一个法线加一个距离就描述完;球也不难,中心加半径一共四个参数;唯独…

2026/10/13 21:30:25 阅读更多 →
PHP+UniApp开发宠物饲养交流系统实战

PHP+UniApp开发宠物饲养交流系统实战

1. 项目概述最近完成了一个宠物饲养交流系统的开发项目,采用PHP后端UniApp前端的混合开发模式。这个系统包含APP和小程序双端应用,主要解决宠物主人在饲养过程中遇到的交流、知识分享和日常管理需求。从技术选型到功能实现,整个项目走下来积累…

2026/10/13 21:30:25 阅读更多 →
litellm实战:统一大模型API与网关部署全解析

litellm实战:统一大模型API与网关部署全解析

1. 多家大模型API来回切换的痛苦,才是litellm真正的用武之地 过去一年,我先后在几个项目里接入了不同的大模型服务商。说实话,最让人头疼的不是模型效果本身,而是API的调用方式五花八门。有的用 messages 数组传对话历史&#x…

2026/10/13 21:30:25 阅读更多 →
操作系统进程线程模型:状态切换、同步互斥与死锁详解

操作系统进程线程模型:状态切换、同步互斥与死锁详解

2. 状态模型与控制方法:从“三态图”到上下文切换2.1 三态与五态:多出来的“创建态”和“终止态”用来干嘛先解决一个最基础的问题:进程到底有哪几种状态?很多教材开头就给出三态模型——运行态、就绪态、阻塞态——配合那张经典的…

2026/10/13 21:30:25 阅读更多 →
LiteLLM:大模型API统一网关与智能路由中枢

LiteLLM:大模型API统一网关与智能路由中枢

1. 为什么是 LiteLLM:当大模型调用变成“API 路由器”这件事LiteLLM 这个名字第一次出现在我视野里,是在一个凌晨三点的告警群里。某高校实验室部署的推理服务突然响应延迟飙升,监控显示 OpenAI 接口超时率突破 40%,但本地 vLLM 实…

2026/10/13 21:30:25 阅读更多 →
imgsTools图片合并实战:基于Python和Pillow的拼接与批处理

imgsTools图片合并实战:基于Python和Pillow的拼接与批处理

简介:这是一份面向游戏开发者的图片合并工具 imgsTools 完整工程,基于 VALib 图像库与 MFC、GDI 技术实现,用于把多张图片合并为透明 PNG、GIF、JPEG,并生成 Cocos2d 可识别的 .plis 资源清单。PNG 适合精细界面元素与图标&#x…

2026/10/13 21:29:24 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →