Expand description
高层 API 类 — Playwright 风格的 Browser/BrowserContext/Page/Frame/… 抽象。
§D 类 method(REQ-BAO-API-006)
D 类 62 method 是“纯本地状态访问“的 getter — 不触发任何 CDP 命令往返。 它们读取 Page/BrowserContext 等高层类内部缓存的本地状态(包括 EventEmitter handler 列表、frame tree、本地实例引用等)。
§模块组织
event_emitter:共享 EventEmitter trait + Innerbrowser:Browser 类(is_connected/version/disconnect/close/…)page:Page 类(核心,~30 D method)frame:Frame 类element_handle:ElementHandle(继承自 JSHandle)keyboard:Keyboard(Page 持有的本地实例)
§单线程约束
所有类 !Send + !Sync,用 Rc<RefCell<...>> 共享 — 与 servo
JSContext 单线程寄生模型一致(DEC-JSC-001)。
@trace REQ-BAO-API-006 [level:library]
Modules§
- accessibility
- Accessibility — 无障碍树访问。
- browser
- Browser — 高层 Browser 类(Playwright 风格)。
- browser_
context - BrowserContext — 浏览器上下文(incognito / 隔离)。
- console_
message - ConsoleMessage — Runtime.consoleAPICalled 事件的消息。
- coverage
- Coverage — JS/CSS 覆盖率追踪。
- dialog
- Dialog — JavaScript dialog(alert/confirm/prompt/beforeunload)。
- element_
handle - ElementHandle — DOM Element 句柄(继承 JSHandle)。
- event_
emitter - EventEmitter — Playwright 风格事件订阅 trait + 单线程 Inner 实现。
- frame
- Frame — 浏览器 Frame(tree 节点)。
- js_
handle - JSHandle — 远程 JS 对象句柄。
- keyboard
- Keyboard — Page 持有的键盘输入实例。
- mouse
- Mouse — Page 持有的鼠标输入实例。
- page
- Page — 浏览器页面(target / frame tree / 输入设备)。
- request
- Request — HTTP 请求句柄(Network.requestWillBeSent 事件)。
- response
- Response — HTTP 响应句柄(Network.responseReceived 事件)。
- touchscreen
- Touchscreen — Page 持有的触摸输入实例。
- tracing
- Tracing — Performance tracing(Chrome trace event)。
Macros§
- delegate_
event_ emitter - 把
EventEmittertrait 委托给Rc<EventEmitterInner>的宏。
Structs§
- Accessibility
- Accessibility 本地状态(Page 持有的实例)。
- Browser
Context - BrowserContext 本地状态。
- Browser
Options - BrowserOptions — Browser 构造配置。
- Console
Message - ConsoleMessage 本地状态。
- Context
Options - ContextOptions — BrowserContext 配置。
- Coverage
- Coverage 本地状态(Page 持有的实例)。
- Dialog
- Dialog 本地状态。
- Element
Handle - ElementHandle 本地状态(包装 JSHandle)。
- Event
Emitter Inner - EventEmitter 单线程 Inner — 用
Rc<RefCell<...>>共享。 - Frame
- Frame 树节点。
- High
Level Browser - Browser 本地状态(高层)。
- JSHandle
- JSHandle 本地状态。
- Keyboard
- Keyboard 本地状态(Page 持有的实例)。
- Mouse
- Mouse 本地状态(Page 持有的实例)。
- Page
- Page 本地状态(核心类)。
- Page
Target Info - TargetInfo — CDP target 信息(从 Target.targetInfoChanged 事件更新)。
- Request
- Request 本地状态(Network 事件链产生的请求记录)。
- Response
- Response 本地状态。
- Touchscreen
- Touchscreen 本地状态(Page 持有的实例)。
- Tracing
- Tracing 本地状态(Page 持有的实例)。
- Viewport
- Viewport(viewport 配置)。
Enums§
- Permission
Override - Permission override 类型(CDP Permission name)。
- Subscription
Result - 事件订阅结果。
Traits§
- Event
Emitter - EventEmitter trait — 高层 API 类共享接口。
Type Aliases§
- Event
Handler - 事件 handler 闭包。
Arc<dyn Fn>便于克隆传递(Rc不可跨所有权)。 - Handler
Id - Handler ID。全局递增(单线程内),用作 off() 索引。
- Pid
- Process ID 类型。