CANoe与VH6501采样点测试:CAPL自动化扫描与避坑指南
简介这份资源面向汽车电子测试工程师与CAN总线开发人员提供基于CANoe与VH6501硬件实现采样点测试的CAPL程序用于评估DUT在总线干扰下的采样点位置与抗干扰能力。资源包内含1个PDF文档大小约365KB内容围绕测试原理、CAPL脚本实现与影响因素展开涵盖VH6501通道配置、干扰报文触发机制、CRC Delimiter与ACK Slot位长度调整策略以及错误帧捕获与循环测试流程。文档还给出完整CAPL代码示例包括变量定义、on errorFrame事件处理与保持DUT处于Error Active状态的报文发送逻辑便于读者直接参考移植。目前已有7611人学习下载适合需要掌握采样点测试方法、提升CAPL编程能力或搭建总线干扰测试环境的工程师可帮助快速理解测试逻辑并落地到实际项目中。1. 采样点测试到底在测什么从 CANoe 与 VH6501 的组合说起做 CAN 总线一致性测试的工程师大概率都绕不开采样点这个话题。整车厂给的通信矩阵里每个报文都标了波特率、采样点位置但真正上车跑起来采样点偏了会怎样轻则偶发错误帧重则整条总线在温度变化或线束抖动时直接通信中断。采样点测试就是要把每个节点的实际采样点位置量出来确认它落在允许窗口内。CANoe 负责仿真和监控VH6501 负责在总线上制造精确的位干扰两者配合才能把采样点逼出来。这套方案适合做 ECU 一致性测试、总线物理层验证、以及排查那些「偶发丢帧」的玄学问题。我见过太多团队只靠示波器看波形估采样点结果和实际协议层行为对不上最后还是得回到干扰法。采样点测试的核心逻辑其实不复杂CAN 控制器在每个位时间里采样一次总线电平采样点就是这次采样发生的时刻通常用位时间的百分比表示。标准要求采样点一般在 75% 到 87.5% 之间具体取决于波特率和晶振容差。测试方法是在总线上发送一个报文然后在特定位的特定位置注入一个干扰脉冲让接收节点在这个位置采到错误电平。如果干扰位置在采样点之前节点采到的是干扰后的电平会判错如果干扰位置在采样点之后节点已经采完了不受影响。通过二分逼近干扰位置就能找到采样点的精确坐标。VH6501 就是干这个的它能以纳秒级精度在指定位偏移处拉低或拉高总线。为什么不用 CANoe 自带的采样点测试功能因为很多场景下你需要自定义干扰序列、批量跑不同节点的采样点、或者把测试集成到自动化流水线里。CAPL 程序就是把这些操作串起来的那根线。下面我会从硬件连接、CAPL 核心逻辑、参数配置、避坑几个层面把整套东西拆开讲清楚。2. 用 CAPL 驱动 VH6501 做采样点扫描从硬件连到第一行代码2.1 硬件链路与 VH6501 的工作模式确认先把物理链路理清楚。VH6501 是 Vector 的 CAN 干扰硬件它串在 CANoe 和被测 ECU 之间的总线上。典型接法是CANoe 的 CAN 通道接 VH6501 的输入端VH6501 的输出端接被测节点终端电阻保持 120 欧姆不变。VH6501 内部有模拟开关能在指定时刻把总线差分电平强行拉低或拉高制造位错误。上电后第一件事是确认 VH6501 的固件版本和 CANoe 里的驱动是否匹配。在 CANoe 的 Hardware 配置里能看到 VH6501 设备如果显示黄色感叹号说明驱动没装好或者固件太旧。常见做法是打开 Vector Hardware Config检查 VH6501 的通道映射是否正确。有个细节容易翻车VH6501 有两个通道一个用于干扰一个用于监控别把监控通道接到被测节点那边去了否则干扰信号根本到不了目标节点。确认硬件没问题后在 CANoe 里新建一个配置添加 VH6501 设备设置好波特率和采样模式。采样模式一般选「Single Sample」还是「Triple Sample」会影响测试结果标准里通常要求单采样因为三采样会引入额外的相位偏移。这个参数在 VH6501 的配置界面里改不在 CAPL 里。2.2 CAPL 里调用 VH6501 干扰函数的正确姿势CAPL 操作 VH6501 主要靠canDisturbance系列函数。最核心的是canDisturbanceTriggerEnable和canDisturbanceTriggerDisable前者用来在指定位偏移处触发干扰后者关闭干扰。下面是一个最小可跑的采样点扫描片段// 采样点扫描核心逻辑 variables { int samplePoint; // 当前测试的采样点位置单位 0.1% int stepSize 10; // 步进先粗扫 1% int lowerBound 500; // 搜索下界 50% int upperBound 950; // 搜索上界 95% int targetBit 0; // 干扰哪个位通常选仲裁段后的第一个数据位 long bitTimeNs; // 位时间单位纳秒 } on start { // 根据波特率计算位时间500kbps 对应 2000ns bitTimeNs 2000; write(开始采样点扫描位时间 %d ns, bitTimeNs); scanSamplePoint(); } void scanSamplePoint() { int midPoint; int errorDetected; while (upperBound - lowerBound 5) // 精度到 0.5% { midPoint (lowerBound upperBound) / 2; errorDetected injectDisturbance(midPoint); if (errorDetected 1) { // 干扰导致错误说明采样点在干扰位置之后 lowerBound midPoint; } else { // 没出错采样点在干扰位置之前 upperBound midPoint; } } write(采样点估计位置%d.%d%%, lowerBound / 10, lowerBound % 10); } int injectDisturbance(int position) { long offsetNs; int result; // 把百分比位置换算成纳秒偏移 offsetNs (bitTimeNs * position) / 1000; // 使能干扰在 targetBit 的 offsetNs 处拉低总线 canDisturbanceTriggerEnable(0, targetBit, offsetNs, 1); // 发送一帧报文触发干扰生效 output(0x100); // 等待干扰完成 testWaitForTimeout(10); // 检查是否出现错误帧 result canDisturbanceGetErrorFlag(); canDisturbanceTriggerDisable(0); return result; }这段代码的逻辑是二分搜索每次在中间位置注入干扰如果节点报错说明采样点比干扰位置晚把下界提上来如果没报错说明采样点比干扰位置早把上界压下去。循环到区间足够小就得到采样点位置。参数说明几个关键点。targetBit选哪个位有讲究一般选数据段第一个位因为仲裁段有多个节点同时发送干扰容易影响仲裁结果数据段是单节点发送干扰效果更干净。offsetNs是相对于位起始的偏移不是相对于帧起始。canDisturbanceTriggerEnable的第一个参数是通道号单通道用 0。最后一个参数 1 表示拉低总线改成 0 就是拉高实际测试中拉低更常用因为 CAN 差分总线的显性电平是拉低差分电压。2.3 二分搜索的收敛条件与精度取舍二分搜索的收敛条件直接决定测试精度和耗时。上面代码里upperBound - lowerBound 5表示精度到 0.5%对于 500kbps 的位时间 2000ns 来说0.5% 就是 10ns 的分辨率。VH6501 的干扰精度可以到 1ns 级别所以理论上可以做到 0.05% 的精度。但实际测试中没必要那么细因为 ECU 的晶振本身有容差采样点在一个范围内波动测得太细反而没有意义。我一般会先粗扫一遍步进 5%找到大概范围后再细扫步进 0.5%。粗扫用固定步进遍历细扫用二分。这样比全程二分快因为二分在初期收敛慢而且如果初始区间选得不对可能收敛到错误的位置。粗扫还能发现一些异常情况比如某个节点在多个位置都报错说明它的采样点可能不稳定或者总线负载太高导致误判。收敛条件还要考虑测试时间。每次干扰加等待大概 10ms二分 10 次就是 100ms加上报文发送时间一个节点测下来 200ms 左右。如果总线上有 20 个节点全部测完 4 秒完全可以接受。但如果用固定步进 0.1% 遍历那就是 1000 次干扰10 秒以上效率太低。3. 干扰位置换算与位时间参数把百分比变成纳秒的坑3.1 位时间与波特率的对应关系采样点百分比是相对于位时间的所以第一步是把位时间算准。CAN 标准里位时间由同步段、传播段、相位缓冲段 1 和相位缓冲段 2 组成但 CAPL 层面不需要关心这些只需要知道总位时间。常见波特率对应的位时间如下波特率位时间 (ns)采样点典型值125 kbps800075%250 kbps400080%500 kbps200080%1 Mbps100075%这个表里的采样点典型值是标准推荐值实际 ECU 可能设得不一样。测试的目的就是验证实际值是否在允许范围内。位时间计算很简单1 秒除以波特率。但要注意单位换算CAPL 里canDisturbanceTriggerEnable的偏移参数单位是纳秒所以 500kbps 下 80% 采样点对应 1600ns。有个容易忽略的点CAN FD 的位时间在数据段和仲裁段可能不同。如果测的是 CAN FD 节点仲裁段用仲裁波特率数据段用数据波特率采样点测试要分别测。VH6501 支持 CAN FD 干扰但配置更复杂需要指定是仲裁段还是数据段。常见做法是先测仲裁段采样点再测数据段两者独立。3.2 干扰脉冲宽度对测试结果的影响VH6501 的干扰脉冲宽度可以配置默认是一个位时间。但实际测试中脉冲宽度会影响采样点判断。如果脉冲太窄可能被节点的滤波器滤掉如果太宽可能影响相邻位。我一般会把脉冲宽度设成位时间的 1/4 到 1/2比如 500kbps 下用 500ns 到 1000ns。脉冲宽度在canDisturbanceTriggerEnable的扩展参数里设置不同版本的 CAPL 接口可能不一样。有些版本用canDisturbanceSetPulseWidth单独设有些版本直接在触发函数里传。查一下 CANoe 的帮助文档搜canDisturbance就能看到当前版本支持的函数列表。如果找不到用canDisturbanceTriggerEnable的默认宽度也能跑只是精度差一点。另一个参数是干扰的重复次数。单次干扰可能被节点的错误管理机制忽略连续干扰几次更容易触发错误帧。我一般会连续干扰 3 次如果 3 次都没报错就认为采样点在干扰位置之前。这个次数可以调但不要太多否则测试时间线性增长。3.3 错误帧检测与误判排除canDisturbanceGetErrorFlag返回的是 VH6501 检测到的总线错误不是节点上报的错误。这两个有区别VH6501 在总线上看到错误帧说明至少有一个节点检测到了错误并发送了错误标志。但如果是被测节点自己检测到错误它会发错误帧VH6501 能看到如果是其他节点检测到错误VH6501 也能看到。所以这个标志只能说明「总线上出现了错误」不能直接归因到被测节点。为了排除其他节点的干扰测试时最好只让被测节点在线其他节点要么断电要么静默。如果做不到可以在干扰前后对比总线错误计数器的变化只有被测节点的错误计数器增加了才认定是它检测到了错误。CAPL 里可以用canGetErrorCounter读节点的错误计数器但需要节点支持诊断。更简单的办法是看错误帧的 ID错误帧没有 ID但可以通过时间戳判断是不是干扰后立刻出现的。误判的另一个来源是总线负载。如果总线上有其他报文在跑干扰可能撞上其他报文导致误报。测试时最好让总线空闲只发测试报文。如果必须保留其他报文就把测试报文设成最高优先级减少冲突。4. 避坑与排查采样点测试翻车的五个典型场景4.1 干扰位置算错测出来的采样点整体偏移现象测出来的采样点比预期值偏大或偏小 5% 以上换一个节点测结果也不对。原因位时间算错了或者百分比换算成纳秒时除了 100 而不是 1000。比如 500kbps 位时间 2000ns80% 应该是 1600ns如果算成 160ns干扰位置就跑到位起始附近了。解决在代码里加打印把每次干扰的纳秒偏移打出来和手工算的对一遍。500kbps 下 50% 应该是 1000ns75% 是 1500ns用这两个点校验。4.2 VH6501 触发不生效干扰函数返回成功但总线上没反应现象canDisturbanceTriggerEnable返回 0成功但示波器上看不到总线被拉低。原因VH6501 的通道映射错了或者干扰通道没使能。有些配置里 VH6501 默认是监控模式需要手动切到干扰模式。解决在 Vector Hardware Config 里确认 VH6501 的通道模式是「Disturbance」而不是「Monitor」。另外检查 CANoe 的 Simulation Setup 里VH6501 是否绑定到了正确的 CAN 通道。4.3 二分搜索不收敛区间来回震荡现象lowerBound和upperBound反复交叉循环退不出来。原因干扰结果不稳定同一个位置有时报错有时不报错。可能是总线负载波动或者节点采样点本身在抖动。解决每个位置连续测 3 次取多数结果。如果 3 次结果不一致扩大步进跳过这个区域。另外检查总线终端电阻是否匹配阻抗不匹配会导致信号反射干扰效果不稳定。4.4 测 CAN FD 节点时数据段采样点测不出来现象仲裁段采样点正常数据段怎么干扰都不报错。原因VH6501 的干扰位置默认是相对于仲裁段位时间的测数据段需要切换到数据段位时间基准。CAN FD 的数据段位时间比仲裁段短同样的纳秒偏移在数据段里占比更大。解决在canDisturbanceTriggerEnable里指定段类型有些版本用canDisturbanceSetBitRateSwitch切换。查一下当前 CANoe 版本的 CAPL 函数说明确认支持 CAN FD 干扰的参数组合。4.5 测试结果和示波器对不上差了一个位时间现象CAPL 测出来采样点在 80%示波器上看波形明明在 70%。原因示波器测的是总线电平的物理边沿CAPL 测的是协议层的采样时刻。两者之间差了收发器的延迟和线束传播时间。另外示波器的触发点可能选在了帧起始而 CAPL 的位偏移是相对于每个位的起始。解决以 CAPL 结果为准因为一致性测试规范里定义的就是协议层采样点。示波器结果可以用来交叉验证但不要直接对比数值。如果偏差超过 10%检查示波器探头的地线是否接好地线太长会引入振铃影响边沿判断。5. 把采样点测试塞进自动化流水线批量跑节点与结果判定5.1 多节点批量测试的脚本组织单个节点测完接下来就是批量跑。我一般会把节点列表放在一个 CSV 文件里CAPL 读文件后循环测试。每个节点测试前先发一帧诊断报文让它进入测试模式测完再发一帧退出。下面是一个批量测试的框架variables { char nodeList[20][50]; // 最多 20 个节点 int nodeCount 0; int currentIndex 0; } on start { nodeCount readNodeList(nodes.csv, nodeList); write(共加载 %d 个节点, nodeCount); testNextNode(); } void testNextNode() { if (currentIndex nodeCount) { write(全部节点测试完成); return; } write(开始测试节点%s, nodeList[currentIndex]); // 发送进入测试模式的诊断报文 sendDiagnosticRequest(nodeList[currentIndex], 0x10, 0x03); testWaitForTimeout(100); // 执行采样点扫描 scanSamplePoint(); // 发送退出测试模式 sendDiagnosticRequest(nodeList[currentIndex], 0x10, 0x01); testWaitForTimeout(100); currentIndex; testNextNode(); }这个框架里readNodeList需要自己实现用 CAPL 的文件操作函数读 CSV。sendDiagnosticRequest也是自定义的根据节点的诊断协议填不同的服务 ID。实际项目中诊断报文格式各家的都不一样需要根据诊断数据库调整。批量测试的关键是状态隔离。每个节点测试前要确保总线空闲错误计数器清零。如果上一个节点测试时留下了错误帧可能影响下一个节点的判断。我一般会在测试前发一帧复位报文或者等总线空闲 500ms 再开始。5.2 结果判定与报告生成测出来的采样点要判定是否合格。判定标准一般来自整车厂的测试规范常见的是 75% 到 87.5% 之间。但不同波特率下范围可能不同比如 125kbps 允许 70% 到 90%500kbps 要求 75% 到 85%。判定逻辑写在 CAPL 里测完直接输出 PASS 或 FAIL。报告生成可以用 CAPL 写 CSV 文件每个节点一行包含节点名、采样点、判定结果、测试时间。CANoe 本身有测试报告功能但定制化程度不高我习惯自己写 CSV后期用 Excel 或 Python 做统计分析。写文件用openFileWrite和fileWriteString注意文件路径要用绝对路径相对路径在 CANoe 里容易找不到。void writeResult(char nodeName[], int samplePoint, char result[]) { dword handle; char line[200]; handle openFileWrite(C:\\test_result\\sample_point.csv, 1); if (handle ! 0) { snprintf(line, 200, %s,%d.%d,%s, nodeName, samplePoint / 10, samplePoint % 10, result); fileWriteString(handle, line); fileClose(handle); } }这段代码每次追加一行openFileWrite的第二个参数 1 表示追加模式。注意文件路径里的反斜杠要转义CAPL 里用双反斜杠。5.3 测试节拍与产线适配如果这套东西要上产线节拍很关键。产线一般要求单节点测试在 2 秒以内。二分搜索 10 次加报文收发大概 500ms加上诊断进入退出 200ms总共 700ms 左右完全能满足。但如果节点需要多次测量取平均时间会翻倍。我一般测 3 次取中间值总时间 2 秒左右刚好卡在产线节拍上。产线环境还有个问题电磁干扰比实验室大。VH6501 的干扰脉冲可能被产线上的电机或变频器干扰导致误判。解决办法是把干扰脉冲宽度调大一点从 500ns 调到 1000ns提高信噪比。另外测试报文用最低的波特率比如 125kbps位时间长干扰窗口宽更容易触发。最后说个血泪经验产线上别用二分搜索用固定步进遍历。二分搜索虽然快但一旦某次干扰被产线噪声影响结果就偏了而且偏了之后没有后悔药因为二分不会回头验证。固定步进遍历每个点都测虽然慢一点但结果稳定出了问题也能看到完整曲线。我一般用 2% 步进遍历50 个点每个点测一次总共 1 秒左右足够产线用。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

具身人工智能:2026年物理闭环落地实战指南

具身人工智能:2026年物理闭环落地实战指南

1. 具身人工智能到底是什么?先别急着查定义,我用三杯咖啡的时间给你讲透“具身人工智能”这个词最近在技术圈、产业会议甚至投资人饭局里高频出现,但很多人听完解释还是云里雾里——它和普通AI有什么区别?是不是就是机器人加个大模…

2026/10/15 11:03:13 阅读更多 →
KEPServerEX OPC UA配置管理器实战:端点、证书与权限避坑指南

KEPServerEX OPC UA配置管理器实战:端点、证书与权限避坑指南

简介:这份PDF文档聚焦kepware的OPC UA配置管理器,面向工业自动化领域的工程师、系统集成人员以及需要搭建OPC UA通信链路的运维人员,帮助解决服务器与客户端之间安全连接、证书信任与故障排查等实际问题。资源包共1个PDF文件,大小…

2026/10/15 11:02:12 阅读更多 →
WorkBuddy实战指南:用MCP+Python打通飞书与专业软件工作流

WorkBuddy实战指南:用MCP+Python打通飞书与专业软件工作流

1. 项目概述:WorkBuddy 不是“另一个AI工具”,而是你工作流里那个沉默的协作者最近在好几个技术团队的茶水间、产品例会和远程协作群里,反复听到一个词:WorkBuddy。它不像ChatGPT那样被拿来写周报初稿,也不像Copilot那…

2026/10/15 11:02:12 阅读更多 →

最新新闻

精密恒流源实测数据包:温漂补偿与PCB布局避坑指南

精密恒流源实测数据包:温漂补偿与PCB布局避坑指南

简介:本资源是一套基于STM32的精密恒流源完整嵌入式开发工程,面向嵌入式工程师、电子设计爱好者及高校相关专业学生,解决LED驱动、传感器供电、电池充电等场景中对1–300mA高精度电流输出的实现难题。压缩包共409个文件,涵盖40个C…

2026/10/15 11:48:35 阅读更多 →
MATLAB中的DFT与FFT:从手写实现到频谱分析实战

MATLAB中的DFT与FFT:从手写实现到频谱分析实战

做信号处理的人,几乎都绕不开傅里叶变换。我刚接触这个领域时,第一件事就是按教材公式在 MATLAB 里写了一个“极简版”的离散傅里叶变换(DFT),然后拿它和内置的fft函数对比,结果同一个 4096 点的序列&#…

2026/10/15 11:48:35 阅读更多 →
Teable多维表格如何优化企业运营效率

Teable多维表格如何优化企业运营效率

1. 多维表格在现代运营中的核心价值 运营流程优化一直是企业提升效率的关键课题。传统电子表格在处理复杂业务逻辑时往往捉襟见肘——数据孤岛、版本混乱、权限管理困难等问题长期困扰着运营团队。Teable这类现代多维表格数据库的出现,正在彻底改变这一局面。 我亲…

2026/10/15 11:47:34 阅读更多 →
华为云码道代码智能体实战:从IDE接入到MCP协议配置全解析

华为云码道代码智能体实战:从IDE接入到MCP协议配置全解析

1. 从零上手华为云码道:一个后端开发的真实体验记录第一次听说华为云码道(CodeArts)代码智能体的时候,我正被一个遗留项目的重构搞得焦头烂额。那是个跑了快五年的老服务,代码里到处是复制粘贴的痕迹,命名风…

2026/10/15 11:47:34 阅读更多 →
Windows 一键部署 OpenClaw:本地 AI 智能体搭建完整实操教程(TaoToken 统一 Key 接入版)

Windows 一键部署 OpenClaw:本地 AI 智能体搭建完整实操教程(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/15 11:47:34 阅读更多 →
CLI工具开发与安全实践指南

CLI工具开发与安全实践指南

我无法根据当前输入生成符合要求的博文。 原因如下: 项目标题为 "impeccable" ,这是一个英文形容词(意为“无可挑剔的、完美的”),本身不构成一个可执行的技术项目、工具、功能或具体实践场景&#xff1…

2026/10/15 11:47:34 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 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/15 0:14:36 阅读更多 →
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/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练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/15 9:49:14 阅读更多 →