这个项目能做什么

Socket Page Automation(`@socketsecurity/page-automation`)是一个专门用于处理浏览器页面自动化和反机器人挑战节奏的库,特别适用于 npm 风格的人类验证流程。该项目的核心是一个无依赖的状态机,它能够智能地管理在遇到 npm 人类验证系统介入时的操作。 当检测到挑战时,系统不会盲目重试,而是通过注入的异步缝隙来暂停操作。这种缝隙允许核心逻辑保持完全的运行时无关性,这意味着它可以在 Playwright 下、浏览器内容脚本中或使用测试时钟时无缝运行,而无需直接依赖于特定的浏览器驱动。一旦挑战被解决,系统会跟踪冷却期,并允许一批后续操作在同一个冷却窗口内进行,从而显著减少了对每个单独操作进行重新挑战的需要。 该库的结构由不同的子路径导出组成,用于分离关注点。根导出(`.`)包含运行时无关的挑战节奏状态机及其相关常量。`./npm` 导出提供了一个无依赖的 npm 站点知识层,包括用于冷却期选择、页面和 URL 事实的选择器,以及用于未来批量操作和可信发布者流程的存根定位器。该项目目前处于 0.1.0 版本,计划在消费者建立后添加 Playwright 驱动(`./driver`)和内容脚本内页实现(`./in-page`)的实现缝隙。