Web自动化测试从入门到落地:框架选型、稳定性与AI辅助实践
刚入行的时候我接手过一个Web自动化测试项目团队的预期是“写一批脚本把核心流程全部覆盖以后发版前自动跑一遍就完事”。结果三个月后那两百条用例能稳定通过的不到一半剩下的全在改定位表达式和维护各种偶发失败。后来我才明白Web自动化测试真正难的从来不是写脚本而是搞清楚什么值得自动化、怎么保证稳定性、以及如何让这套东西在团队里持续运作下去。这篇文章就是基于这些年踩过的坑做的一份比较系统的总结。它适合正在学自动化测试的新人、维护脚本被折磨到怀疑人生的测试工程师以及准备面试时需要把知识体系梳理一遍的朋友。1. 为什么大多数Web自动化测试项目最后烂尾了聊技术方案之前想先聊这个更根本的问题。我见过太多团队包括我自己第一次做自动化的时候都是先买服务器、搭框架、写脚本忙得不亦乐乎最后却在维护阶段崩溃。搞清楚失败原因比学会某个框架的API重要得多。1.1 项目失败的两个最常见信号第一个信号是脚本开始频繁“误报”。今天按钮没点上去明天接口响应慢了半拍导致断言失败后天某个iframe又切不过去。看起来是用例不通过实际上全是脚本自身的问题。当团队发现修脚本的时间比手动跑回归还长的时候这个项目的价值就已经被否定了。第二个信号是需求频繁变更时脚本跟着“重写”。Web页面是活的尤其是产品快速迭代期的项目前端结构可能每周都在变。如果脚本设计时没有把定位策略和业务逻辑分开每次页面稍微调整就要改一堆代码那么整个测试资产很快会变成负资产。这两个信号背后其实是同一个原因团队把“自动化率”当成了目标却忽略了自动化测试本质上是对“回归成本”的投资。没有稳定性的自动化覆盖再多页面也只是给维护团队挖坑。1.2 自动化测试真正适合解决什么问题我的判断标准其实很简单现在也会直接告诉来咨询我的人适合自动化的场景核心业务回归测试、冒烟测试、跨浏览器兼容性验证、大量数据组合的输入校验。不适合自动化的场景一次性验证、探索式测试、视觉交互体验评估、刚立项还在频繁改版的前端页面。新项目我的建议是老老实实手工测等核心流程稳定了再动手写自动化这时候脚本才有沉淀的意义。对于已进入维护期的系统哪怕自动化率只有40%只要这40%覆盖了最重要的业务链路发版前跑一遍价值就很大。这跟UI页面里那些所谓“全能自动化”的设想不一样自动化的第一原则是别让它成为团队的负担。1.3 投入产出比怎么算这其实是一个很实在的成本账。粗略估算自动化脚本的维护成本 ≈ 每周修改脚本的工时总和手动回归的执行成本 ≈ 每轮回归时长 × 回归频率如果一个系统每周发版两次每轮手工回归要一人半天那每周就是一天人力成本。自动化脚本写完后如果每周维护超过半天就需要考虑是不是定位策略太差或者页面确实改得太频繁了。我比较推荐的做法是先拿一周时间做一个POC挑两条频率最高的核心链路写成自动化跑两周观察失败率和维护成本。数据出来了再决定要不要全面铺开这样比盲目规划要稳妥得多。2. 框架选型Selenium、Playwright与pytest怎么搭配最务实现在Web自动化工具圈的状态比五六年前好的不是一点半点。Selenium一家独大的时代已经过去了Playwright这两年成长非常快很多新项目直接就从它起步。这里把我实际使用中的真实感受讲一下。2.1 三类主流的浏览器自动化工具对比我是三个工具都在真实项目里用过的比较有发言权。整理成一份对比表维度Selenium 4PlaywrightCypress执行速度较慢通过WebDriver协议转发命令较快采用CDP直接与浏览器通信快但运行在其自带的Node进程内自动等待无内置机制需显式等待内置自动等待机制非常可靠内置自动重试机制效果也不错多标签页/多上下文支持处理稍麻烦原生支持隔离性很好不支持多标签页浏览器覆盖面Chrome/Firefox/Safari/EdgeChromium/Firefox/WebKit仅Chrome系编程语言Java, Python, C#, Ruby等JavaScript/TypeScript, Python, Java仅JavaScript在线录脚本工具Selenium IDEPlaywright CodegenCypress Studio团队上手难度资料多案例多门槛低概念简洁写起来很顺手前端工程师友好从我的实际体感来说Selenium最大的价值是“成熟的参与者多”你遇到一个诡异问题搜索一下基本都能找到答案。Playwright的优势则在工程化体验上它的定位策略、上下文隔离和自动等待设计得非常现代写测试脚本的体感比Selenium舒服很多。Cypress在纯前端项目里很香但它受限于同源策略多标签和跨域场景比较吃亏做后端管理系统的测试会别扭。所以我的结论可以很直接新项目优先考虑Playwright老项目或团队Java技术栈很重的话继续用Selenium完全没问题。语言选择上如果团队有统一的研发语言就顺着走如果是从零开始我会推荐Python生态里pytest和各类报告插件都很成熟写起来效率最高。2.2 我推荐的Pytest为主线的组合方案说一套我用了很久也让新同学能快速上手的组合pytest Playwright Allure Report。Python环境下这套方案非常顺滑依赖安装少调试也直观。一个比较务实的项目结构长这样web_auto_test/ ├── config/ │ ├── __init__.py │ └── settings.py # 全局配置base_url、超时时间、浏览器类型 ├── pages/ # Page Object 层每个页面一个类 │ ├── __init__.py │ └── login_page.py ├── test_cases/ │ ├── __init__.py │ └── test_login.py ├── data/ # 测试数据文件 │ └── login_data.yaml ├── utils/ │ ├── __init__.py │ ├── driver_factory.py # 浏览器实例工厂 │ └── screenshot.py # 失败截图工具 ├── conftest.py # pytest fixture集中定义 ├── pytest.ini └── requirements.txt这个结构的核心思想只有一个把页面、用例、数据、配置相互隔离改任何一层都不牵动其他层。很多刚入门的同学喜欢把所有逻辑写在一个测试函数里页面元素定位也直接写在测试文件里。这种写法在演示时没问题一旦页面改个class名全部用例一起报错只能一个一个去查。这是我认为框架设计里最不能省的一步。pytest的fixture机制在这里发挥关键作用。conftest.py里定义一个浏览器实例的fixture每个测试函数自动使用测试结束时自动关闭非常干净import pytest from playwright.sync_api import sync_playwright pytest.fixture(scopesession) def browser(): with sync_playwright() as p: browser p.chromium.launch(headlessTrue) yield browser browser.close() pytest.fixture() def page(browser): context browser.new_context() current_page context.new_page() current_page.goto(https://example.com) yield current_page context.close()scopesession保证了整个测试会话只启动一次浏览器每条用例再用独立上下文隔离性、速度都有了。这里要提醒的是context.close()非常重要不关会导致浏览器进程残留在CI上跑久了内存会爆。细节成败大多体现在这些地方。2.3 环境搭建里最容易翻车的细节环境搭建本身不复杂但翻车概率却最高。第一个坑是浏览器版本与驱动版本不匹配。Selenium时代需要手动下载chromedriver并严格匹配版本号一旦Chrome自动更新了本地脚本就全挂。Playwright解决了这个问题它会下载配套的浏览器但代价是下载体积大而且在内网环境经常下载不动。建议团队统一使用镜像源或者提前把浏览器包缓存到CI服务器上。第二个坑是无头模式的显示问题。很多团队喜欢headlessTrue确实CI上跑得快但有些操作在无头模式下表现异常比如文件下载行为、某些弹窗的定位。我的经验是本地调试用有头模式CI上再用无头模式两边分开配置不要混在一起调试。第三个坑是CI环境下权限不足。如果使用的是Docker容器跑测试需要添加--no-sandbox参数否则Chromium启动就会报错。Selenium项目遇到的EACCES错误八成也是源于此。3. 决定脚本生死的三个细节定位策略、等待机制与iframe/弹窗框架搭好只是开始真正的考验在脚本稳定上。这部分是最多同学来找我排查问题的重灾区我把经验集中说明一下。3.1 元素定位从“能跑”到“稳跑”的进阶思路定位策略的选择在研究过成百上千条脚本后优先级已经非常明确了优先使用唯一的标识如id、># 在iframe内点击“确认”按钮 confirm_button page.frame_locator(#main-frame).locator(button:has-text(确认)) confirm_button.click()再说alert弹窗。Selenium需要driver.switch_to.alert来接收并处理而且处理完前页面操作是阻塞的。Playwright通过page.on(dialog)事件监听可以先点击按钮再在回调里自动处理弹窗代码结构更接近人的操作逻辑。新标签页的处理也存在同样差异。点击一个打开新窗口的链接后Selenium需要driver.window_handles去切换还要做窗口去重。Playwright可以用context.expect_page()来捕获新页面with context.expect_page() as new_page_info: page.click(button:has-text(打开新窗口)) new_page new_page_info.value new_page.wait_for_load_state()另外还有一类很容易被忽略的场景文件下载和PDF打印预览。Web页面里经常有“打印”按钮点击后浏览器会弹出PDF打印预览窗口。这个窗口不属于普通DOM自动化脚本很难直接操作实际处理方式一般是绕过前端交互直接通过后端接口验证下载或打印数据流或者在脚本里预设下载目录然后监听文件是否生成。这也是很多人问“web自动化怎么处理PDF打印”时我给出的思路让UI层和验证层分离反而更稳定。4. 从脚本到框架数据驱动、关键字驱动与自动化平台的能力清单当脚本数量超过几十条设计模式就开始发挥作用了。这一节讲的是怎么让测试资产不只是“一堆能跑的脚本”而变成一个可以维护和扩展的测试体系。4.1 数据驱动把测试数据从代码里抽出来很多人写多条登录用例是这样干的复制九个测试函数每个函数改一下账号密码断言。这种写法维护成本高而且任何一条用例失败时你都要跑到代码里去改数据。更好的做法是用pytest的参数化特性把测试数据抽成一个独立的yaml文件或pytest的parametrize装饰器。我自己习惯把数据和用例分离拿登录模块举例。先在data/login_data.yaml里定义多组账号密码和预期结果- case_id: login_success username: testuser01 password: pass123456 expected: 登录成功 - case_id: login_empty_password username: testuser02 password: expected: 密码不能为空测试文件里只写一次用例执行逻辑import pytest import yaml from pages.login_page import LoginPage with open(data/login_data.yaml, r, encodingutf-8) as f: login_cases yaml.safe_load(f) pytest.mark.parametrize(case_data, login_cases) def test_login(page, case_data): login LoginPage(page) login.open() login.input_username(case_data[username]) login.input_password(case_data[password]) login.submit() assert login.get_message() case_data[expected]这样新增一条用例只是往yaml里加几行数据完全不用动代码。接口自动化测试里的数据驱动思路也一样只是把数据文件从yaml换成了json或者数据库断言。习惯这种思路之后回归测试里各种边界值的组合覆盖会做得轻松很多。4.2 关键字驱动与流程编排的思路数据驱动解决的是“同一套逻辑、多组数据”的问题关键字驱动则解决“多套逻辑、灵活编排”的问题。它的核心思想是把测试步骤抽象成一个个关键字比如“打开页面”“输入文本”“点击按钮”“执行SQL校验”然后通过一份外部配置如Excel或JSON数组来用自然语言描述整条用例。这种方式的最明显优势是业务同事不需要看懂代码就能编写和修改用例。对于团队人员构成杂、测试资产需要跨角色维护的场景非常实用。但如果团队里都是会写代码的测试工程师我反而建议直接上代码框架关键字驱动的灵活性其实是用一定的编程自由度换来的过度封装反而会让排查问题变得麻烦。所以在落地时我的建议是逻辑层和数据层要分开但控制流程可以直接写在测试用例里拿pytest组织好就行。中间路线往往是性价比最高的。4.3 一个自动化测试平台应该具备的基础能力这个话题有很多朋友问过“我们自己想搭一个自动化测试平台第一步该做什么”。如果抛开花哨的界面站在使用者的角度逆向梳理平台的核心能力其实非常明确能力模块核心价值轻量实现方案用例管理集中维护、版本可追溯Git仓库 目录结构规范定时调度无人值守、定时回归Jenkins定时任务 / GitHub Actions结果报告快速定位失败原因Allure Report / pytest-html日志与截图失败信息留痕、可复盘失败时自动截图 日志聚合统计分析量化自动化覆盖率与稳定性自定义脚本收集执行历史数据环境切换一套用例跑多套环境读取配置文件切换base_url很多团队一上来就买或者自己开发一个重型平台我觉得大可不必。初期用“Git仓库 pytest Jenkins Allure”这套组合几千行代码就能搭出一个相当能打的轻量平台。等技术积累和用例规模到了需要精细化运营的阶段再逐步补充管理后台、权限系统、集成测试环境巡检等功能会更从容。另外接口自动化也需要纳入平台或CI的同一套报表体系里。UI自动化覆盖主链路接口自动化覆盖参数规则和协议层校验两者是互相补充的关系各自跑各自的反而浪费系统数据。5. AI辅助脚本生成LangChain Agent的实践与边界现在聊点新鲜的。最近GitHub上很火的方向是基于LangChain开发一个Agent直接从测试用例描述自动生成UI自动化脚本。我也跟着实践了一段时间把真实感受和实践边界分享出来。5.1 用大模型自动生成UI自动化脚本的思路通俗来说这个Agent的输入是一句自然语言的测试用例输出是一段可以直接运行的Playwright或Selenium脚本。比如输入登录页面使用testuser01/123456登录断言登录后跳转到首页。输出打开登录页、填用户名、填密码、点登录按钮然后断言URL变化。我尝试的最低可复现版本是这样一条流程链将自然语言用例传给LLM附带一段固定的Prompt要求输出JSON格式步骤序列。拿到JSON后用一段解释器把每个“动作字段”映射成Playwright的动作函数。执行前的最后一步要求LLM补充或校验元素定位表达式。动态生成脚本文件到临时目录pytest收集并执行。# 伪代码示意 actions llm_parse_natural_language_to_json(打开登录页并登录) for action in actions: if action[type] open: page.goto(action[target]) elif action[type] click: page.click(action[selector])这套链路跑通并不难真正难的是“让生成的脚本在真实业务页面上稳定运行”。因为大模型生成的定位表达式准确率在常见框架、常见页面结构上还行一旦遇到业务自定义组件、状态动态切换的列表页生成的XPath基本都是摆设。5.2 我在实践中的边界认知实践了一两个月之后我对这类AI工具的定位是“效率放大器而不是替代者”。它的使用方式也不应该是“丢一句测试用例就让它全自动生成”那样生成的代码里可能包含大量不稳定的选择器最后依然需要人工去修。正确用法是让AI负责生成脚本的骨架和基础动作它把页面跳转、填写、点击这些机械性操作在几秒内完成编排而业务断言、复杂状态组合这些需要理解业务语义的部分由人工补充和调整。举个例子AI生成登录脚本几乎每次都很像样它能自动补上加载等待甚至能推断出登录成功的标志是页面某个元素出现。但让AI处理“导入一批1000行的Excel校验导入结果列表总数和首行数据”这类复杂交互时生成代码基本不可用它会猜错上传流程也会漏掉对导入结果的断言。另外还有一条底线要管住把测试用例描述发给外部大模型之前做好脱敏生产系统的账号信息、业务数据不能随便进Prompt这是我在实际项目里吃过亏的教训。还有一个可落地的建议是把Agent生成脚本和Page Object结合起来让AI只生成页面对象层的方法和定位然后由人来写测试用例层的业务逻辑编排。这样AI负责稳定可控的部分人来负责决策和判断的部分可靠性高很多。6. 面试与实战中最常考的知识点清单最后整理一份面试和实际工作中都极高频的知识点清单。这部分内容在面试题里反复出现逐个梳理过几轮后会让你对整个知识体系有个更完整的认识。6.1 自动化测试面试常考问题解析“说下Selenium的执行原理。”这个问题的核心是WebDriver。Selenium通过浏览器厂商提供的WebDriver协议把测试脚本中的指令翻译成浏览器能理解的原生命令。客户端与浏览器驱动之间通过HTTP协议通信这也是它比Playwright慢的原因之一。“定位不到元素时你会怎么排查”标准的排查链路是检查等待机制是否足够是否是元素还没异步渲染出来。打开开发者工具确认元素是否在iframe里。确认元素是否存在于Shadow DOM中。尝试手动在浏览器控制台用document.querySelector验证选择器是否能命中。检查是否在前一次页面跳转后丢失了页面引用。“如何处理加载中的动态元素”首选显式等待指定的条件如element_to_be_clickable、visibility_of_element_located。如果是轮询请求导致的列表更新就等某个数据特征出现再去操作。不要用固定sleep。“讲一下你理解的Page Object模式。”Page Object的核心思想是每一个页面用一个类抽象页面元素定位和操作封装在类里测试用例只关心业务步骤不关心这些元素是什么selector。这样可以避免“改一个按钮的class要改几十条用例”的连锁反应。“在团队里自动化落地效果不好你会怎么做”这道题考的是工程思维。先量化现状跑一次回归要多久、失败率多少、哪些用例最不稳定接着选出最核心的链路写POC用数据说服团队同时和前端约定稳定可定位的属性降低后续维护成本。6.2 从“会写脚本”到“能落地”的三步成长路线很多新人把“会写脚本”等同于“会做自动化测试”但实际工作中这两者差距很大。成长是有层次的踩过一定坑之后自然能体会出来阶段能力特征典型产出L1 脚本编写会用API、能跑通基础用例单条用例脚本L2 框架设计理解PO、数据驱动、等待策略、报告集成一套可维护的测试框架L3 工程落地会推动团队协作、量化ROI、处理CI的稳定性稳定运行在流水线里的自动化体系很多人在L1停留了很久不是因为代码能力不够而是从没想过“稳定”才是自动化的生命线。等你开始思考怎么让脚本在一个月后依然稳定跑才算是真正进入了L2和L3的门槛。最后补充几条实操小技巧根据我的经验几条能直接避免踩坑的小技巧分享一下。第一给每条用例名称加上业务模块前缀Allure报告出来后分类清晰定位问题更快。第二失败截图不要只截整页同时截一张元素级别的特写排查时可以看清到底是弹窗挡住了还是元素样式产生了变化。第三使用Playwright时在调用page.click()前尽量通过locator.wait_for()确认要素就绪虽然Playwright有自动等待但频繁不稳定的用例加上一到两个关键等待点稳定性会再上一个台阶。第四不管用什么框架跑完一轮完整测试后必须看一眼浏览器进程是否全部退出这能在CI上省出大量排查时间。

相关新闻

沐曦适配 Qwen-Image-2.1 落锤:国产 GPU 跑通加速版还差最后一公里

沐曦适配 Qwen-Image-2.1 落锤:国产 GPU 跑通加速版还差最后一公里

沐曦适配 Qwen-Image-2.1 落锤:国产 GPU 跑通加速版还差最后一公里 【免费下载链接】Qwen-Image-2.1-viggle-turbo 项目地址: https://ai.gitcode.com/hf_mirrors/Viggle/Qwen-Image-2.1-viggle-turbo 国产大模型推理正在经历一场静悄悄的"下沉运动&qu…

2026/10/11 7:12:40 阅读更多 →
Relapse-Exploit 的内核读写加速:从 sysctl oid 慢读写到 pipe 交叉快读写的实现

Relapse-Exploit 的内核读写加速:从 sysctl oid 慢读写到 pipe 交叉快读写的实现

【免费下载链接】Relapse-Exploit Exploit chain for PS5 7.00 - 13.60 项目地址: https://gitcode.com/gh_mirrors/re/Relapse-Exploit 点击查看 免费下载 Relapse-Exploit 是覆盖 PS5 7.00~13.60 固件的浏览器漏洞利用链,它在拿到初步内核…

2026/10/11 7:12:40 阅读更多 →
海思3519DV500相关命令

海思3519DV500相关命令

海思3519DV500相关命令1.文件系统烧录命令2.Uboot设置网络命令3.Uboot烧录命令1.文件系统烧录命令 dd if/run/uImage-fdt of/dev/mmcblk0p4 bs4Mdd if/run/rootfs_hi3519dv500_96M.ext4 of/dev/mmcblk0p5 bs4M2.Uboot设置网络命令 # 倍数为512倍 setenv serverip 192.168.1.18…

2026/10/11 7:12:40 阅读更多 →

最新新闻

微服务多级缓存架构设计

微服务多级缓存架构设计

1 需求背景系统读多写少场景,大量热点字典、基础业务信息,请求全部打到 Redis,Redis CPU / 带宽压力高。 引入本地内存缓存,缩短访问链路;同时解决多实例本地缓存脏数据问题。非目标不用于强一致性业务(库存…

2026/10/11 16:38:47 阅读更多 →
安全日志分析实战:从撞库、Webshell到横向移动的攻击链还原方法

安全日志分析实战:从撞库、Webshell到横向移动的攻击链还原方法

做安全运营这些年,我翻过的日志如果打印出来,大概能堆满一整面墙。网络攻击日志分析这件事,听起来很高大上,实际干起来往往是从一堆看似无关的字符里,把攻击者的行动轨迹一点点抠出来。你盯着几十万行访问记录&#xf…

2026/10/11 16:38:47 阅读更多 →
从SEO到GEO:AI时代企业为什么需要建立品牌知识资产?

从SEO到GEO:AI时代企业为什么需要建立品牌知识资产?

随着生成式AI快速进入企业营销体系,传统的搜索流量逻辑正在出现新的变化。 世界广告主联合会(WFA)最新调研显示,96%的受访大型品牌已经在使用生成式AI或智能体AI。 对于企业数字化团队而言,一个值得关注的问题是&#…

2026/10/11 16:38:47 阅读更多 →
beautify-github-readme 内容架构教程:价值→证明→机制,5 步重排 README 阅读顺序

beautify-github-readme 内容架构教程:价值→证明→机制,5 步重排 README 阅读顺序

【免费下载链接】beautify-github-readme 整理并设计仓库 README,让项目价值、真实案例、安装方式与使用边界更容易理解。 项目地址: https://gitcode.com/gh_mirrors/be/beautify-github-readme 点击查看 免费下载 很多开源仓库不缺信息,缺…

2026/10/11 16:38:46 阅读更多 →
SpringBoot+Vue宠物健康咨询系统:前后端分离项目完整部署与二次开发指南

SpringBoot+Vue宠物健康咨询系统:前后端分离项目完整部署与二次开发指南

最近好几个人问我要这种“能直接跑起来的完整项目”,点名还是要SpringBoot加Vue那一套。这里就把一个宠物健康咨询信息管理系统的完整实现思路、技术方案和部署过程拿出来聊聊。如果你是准备做毕业设计,或者是想快速上手前后端分离的项目练手&#xff0c…

2026/10/11 16:38:46 阅读更多 →
AI File Sorter Headless 无界面集成完全指南:CLI 参数、状态 JSON 与并发锁一次讲清

AI File Sorter Headless 无界面集成完全指南:CLI 参数、状态 JSON 与并发锁一次讲清

AI 应用大模型本地部署桌面应用 【免费下载链接】ai-file-sorter Cross-platform desktop application for content-aware file organization and renaming. Supports local and remote LLMs, preview-based workflows, and fully user-controlled changes. 项目地址&#xff1…

2026/10/11 16:37:46 阅读更多 →

日新闻

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

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

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

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

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

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

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

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

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

2026/10/11 0:00:27 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 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/11 10:45:37 阅读更多 →
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/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练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/11 14:36:54 阅读更多 →