playwright_core/protocol/
mod.rs

1// Copyright 2024 Paul Adamson
2// Licensed under the Apache License, Version 2.0
3//
4// Protocol Objects - Rust representations of Playwright protocol objects
5//
6// This module contains the Rust implementations of all Playwright protocol objects.
7// Each object corresponds to a type in the Playwright protocol (protocol.yml).
8//
9// Architecture:
10// - All protocol objects implement the ChannelOwner trait
11// - Objects are created by the object factory when server sends __create__ messages
12// - Objects communicate with the server via their Channel
13
14pub mod action_options;
15pub mod artifact;
16pub mod browser;
17pub mod browser_context;
18pub mod browser_type;
19pub mod click;
20pub mod dialog;
21pub mod download;
22pub mod element_handle;
23pub mod file_payload;
24pub mod frame;
25pub mod keyboard;
26pub mod locator;
27pub mod mouse;
28pub mod page;
29pub mod playwright;
30pub mod request;
31pub mod response;
32pub mod root;
33pub mod route;
34pub mod screenshot;
35pub mod select_option;
36
37pub use action_options::{
38    CheckOptions, FillOptions, HoverOptions, KeyboardOptions, MouseOptions, PressOptions,
39    SelectOptions,
40};
41pub use browser::Browser;
42pub use browser_context::{
43    BrowserContext, BrowserContextOptions, BrowserContextOptionsBuilder, Geolocation, Viewport,
44};
45pub use browser_type::BrowserType;
46pub use click::{ClickOptions, KeyboardModifier, MouseButton, Position};
47pub use dialog::Dialog;
48pub use download::Download;
49pub use element_handle::ElementHandle;
50pub use file_payload::{FilePayload, FilePayloadBuilder};
51pub use frame::Frame;
52pub use keyboard::Keyboard;
53pub use locator::Locator;
54pub use mouse::Mouse;
55pub use page::{GotoOptions, Page, Response, WaitUntil};
56pub use playwright::Playwright;
57pub use request::Request;
58pub use response::ResponseObject;
59pub use root::Root;
60pub use route::{
61    ContinueOptions, ContinueOptionsBuilder, FulfillOptions, FulfillOptionsBuilder, Route,
62};
63pub use screenshot::{ScreenshotClip, ScreenshotOptions, ScreenshotType};
64pub use select_option::SelectOption;