puppeteer-bidi 0.0.1.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.rspec +3 -0
- data/.rubocop.yml +13 -0
- data/CLAUDE/README.md +158 -0
- data/CLAUDE/async_programming.md +158 -0
- data/CLAUDE/click_implementation.md +340 -0
- data/CLAUDE/core_layer_gotchas.md +136 -0
- data/CLAUDE/error_handling.md +232 -0
- data/CLAUDE/file_chooser.md +95 -0
- data/CLAUDE/frame_architecture.md +346 -0
- data/CLAUDE/javascript_evaluation.md +341 -0
- data/CLAUDE/jshandle_implementation.md +505 -0
- data/CLAUDE/keyboard_implementation.md +250 -0
- data/CLAUDE/mouse_implementation.md +140 -0
- data/CLAUDE/navigation_waiting.md +234 -0
- data/CLAUDE/porting_puppeteer.md +214 -0
- data/CLAUDE/query_handler.md +194 -0
- data/CLAUDE/rspec_pending_vs_skip.md +262 -0
- data/CLAUDE/selector_evaluation.md +198 -0
- data/CLAUDE/test_server_routes.md +263 -0
- data/CLAUDE/testing_strategy.md +236 -0
- data/CLAUDE/two_layer_architecture.md +180 -0
- data/CLAUDE/wrapped_element_click.md +247 -0
- data/CLAUDE.md +185 -0
- data/LICENSE.txt +21 -0
- data/README.md +488 -0
- data/Rakefile +21 -0
- data/lib/puppeteer/bidi/async_utils.rb +151 -0
- data/lib/puppeteer/bidi/browser.rb +285 -0
- data/lib/puppeteer/bidi/browser_context.rb +53 -0
- data/lib/puppeteer/bidi/browser_launcher.rb +240 -0
- data/lib/puppeteer/bidi/connection.rb +182 -0
- data/lib/puppeteer/bidi/core/README.md +169 -0
- data/lib/puppeteer/bidi/core/browser.rb +230 -0
- data/lib/puppeteer/bidi/core/browsing_context.rb +601 -0
- data/lib/puppeteer/bidi/core/disposable.rb +69 -0
- data/lib/puppeteer/bidi/core/errors.rb +64 -0
- data/lib/puppeteer/bidi/core/event_emitter.rb +83 -0
- data/lib/puppeteer/bidi/core/navigation.rb +128 -0
- data/lib/puppeteer/bidi/core/realm.rb +315 -0
- data/lib/puppeteer/bidi/core/request.rb +300 -0
- data/lib/puppeteer/bidi/core/session.rb +153 -0
- data/lib/puppeteer/bidi/core/user_context.rb +208 -0
- data/lib/puppeteer/bidi/core/user_prompt.rb +102 -0
- data/lib/puppeteer/bidi/core.rb +45 -0
- data/lib/puppeteer/bidi/deserializer.rb +132 -0
- data/lib/puppeteer/bidi/element_handle.rb +602 -0
- data/lib/puppeteer/bidi/errors.rb +42 -0
- data/lib/puppeteer/bidi/file_chooser.rb +52 -0
- data/lib/puppeteer/bidi/frame.rb +597 -0
- data/lib/puppeteer/bidi/http_response.rb +23 -0
- data/lib/puppeteer/bidi/injected.js +1 -0
- data/lib/puppeteer/bidi/injected_source.rb +21 -0
- data/lib/puppeteer/bidi/js_handle.rb +302 -0
- data/lib/puppeteer/bidi/keyboard.rb +265 -0
- data/lib/puppeteer/bidi/lazy_arg.rb +23 -0
- data/lib/puppeteer/bidi/mouse.rb +170 -0
- data/lib/puppeteer/bidi/page.rb +613 -0
- data/lib/puppeteer/bidi/query_handler.rb +397 -0
- data/lib/puppeteer/bidi/realm.rb +242 -0
- data/lib/puppeteer/bidi/serializer.rb +139 -0
- data/lib/puppeteer/bidi/target.rb +81 -0
- data/lib/puppeteer/bidi/task_manager.rb +44 -0
- data/lib/puppeteer/bidi/timeout_settings.rb +20 -0
- data/lib/puppeteer/bidi/transport.rb +129 -0
- data/lib/puppeteer/bidi/version.rb +7 -0
- data/lib/puppeteer/bidi/wait_task.rb +322 -0
- data/lib/puppeteer/bidi.rb +49 -0
- data/scripts/update_injected_source.rb +57 -0
- data/sig/puppeteer/bidi/browser.rbs +80 -0
- data/sig/puppeteer/bidi/element_handle.rbs +238 -0
- data/sig/puppeteer/bidi/frame.rbs +205 -0
- data/sig/puppeteer/bidi/js_handle.rbs +90 -0
- data/sig/puppeteer/bidi/page.rbs +247 -0
- data/sig/puppeteer/bidi.rbs +15 -0
- metadata +176 -0
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
# Generated from lib/puppeteer/bidi/page.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Puppeteer
|
|
4
|
+
module Bidi
|
|
5
|
+
# Page represents a single page/tab in the browser
|
|
6
|
+
# This is a high-level wrapper around Core::BrowsingContext
|
|
7
|
+
class Page
|
|
8
|
+
DEFAULT_TIMEOUT: Integer
|
|
9
|
+
|
|
10
|
+
attr_reader browsing_context: Core::BrowsingContext
|
|
11
|
+
|
|
12
|
+
attr_reader browser_context: BrowserContext
|
|
13
|
+
|
|
14
|
+
attr_reader timeout_settings: TimeoutSettings
|
|
15
|
+
|
|
16
|
+
# @rbs browser_context: BrowserContext
|
|
17
|
+
# @rbs browsing_context: Core::BrowsingContext
|
|
18
|
+
# @rbs return: void
|
|
19
|
+
def initialize: (BrowserContext browser_context, Core::BrowsingContext browsing_context) -> void
|
|
20
|
+
|
|
21
|
+
# Register an event listener
|
|
22
|
+
# @rbs event: Symbol | String
|
|
23
|
+
# @rbs &block: (untyped) -> void
|
|
24
|
+
# @rbs return: void
|
|
25
|
+
def on: (Symbol | String event) { (untyped) -> void } -> void
|
|
26
|
+
|
|
27
|
+
# Register a one-time event listener
|
|
28
|
+
# @rbs event: Symbol | String
|
|
29
|
+
# @rbs &block: (untyped) -> void
|
|
30
|
+
# @rbs return: void
|
|
31
|
+
def once: (Symbol | String event) { (untyped) -> void } -> void
|
|
32
|
+
|
|
33
|
+
# Remove an event listener
|
|
34
|
+
# @rbs event: Symbol | String
|
|
35
|
+
# @rbs &block: (untyped) -> void
|
|
36
|
+
# @rbs return: void
|
|
37
|
+
def off: (Symbol | String event) { (untyped) -> void } -> void
|
|
38
|
+
|
|
39
|
+
# Emit an event to all registered listeners
|
|
40
|
+
# @rbs event: Symbol | String
|
|
41
|
+
# @rbs data: untyped
|
|
42
|
+
# @rbs return: void
|
|
43
|
+
def emit: (Symbol | String event, ?untyped data) -> void
|
|
44
|
+
|
|
45
|
+
# Navigate to a URL
|
|
46
|
+
# @rbs url: String
|
|
47
|
+
# @rbs wait_until: String
|
|
48
|
+
# @rbs return: HTTPResponse?
|
|
49
|
+
def goto: (String url, ?wait_until: String) -> HTTPResponse?
|
|
50
|
+
|
|
51
|
+
# Set page content
|
|
52
|
+
# @rbs html: String
|
|
53
|
+
# @rbs wait_until: String
|
|
54
|
+
# @rbs return: void
|
|
55
|
+
def set_content: (String html, ?wait_until: String) -> void
|
|
56
|
+
|
|
57
|
+
# Take a screenshot
|
|
58
|
+
# @rbs path: String?
|
|
59
|
+
# @rbs type: String
|
|
60
|
+
# @rbs full_page: bool
|
|
61
|
+
# @rbs clip: Hash[Symbol, Numeric]?
|
|
62
|
+
# @rbs capture_beyond_viewport: bool
|
|
63
|
+
# @rbs return: String
|
|
64
|
+
def screenshot: (?path: String?, ?type: String, ?full_page: bool, ?clip: Hash[Symbol, Numeric]?, ?capture_beyond_viewport: bool) -> String
|
|
65
|
+
|
|
66
|
+
# Evaluate JavaScript in the page context
|
|
67
|
+
# @rbs script: String
|
|
68
|
+
# @rbs *args: untyped
|
|
69
|
+
# @rbs return: untyped
|
|
70
|
+
def evaluate: (String script, *untyped args) -> untyped
|
|
71
|
+
|
|
72
|
+
# Evaluate JavaScript and return a handle to the result
|
|
73
|
+
# @rbs script: String
|
|
74
|
+
# @rbs *args: untyped
|
|
75
|
+
# @rbs return: JSHandle
|
|
76
|
+
def evaluate_handle: (String script, *untyped args) -> JSHandle
|
|
77
|
+
|
|
78
|
+
# Query for an element matching the selector
|
|
79
|
+
# @rbs selector: String
|
|
80
|
+
# @rbs return: ElementHandle?
|
|
81
|
+
def query_selector: (String selector) -> ElementHandle?
|
|
82
|
+
|
|
83
|
+
# Query for all elements matching the selector
|
|
84
|
+
# @rbs selector: String
|
|
85
|
+
# @rbs return: Array[ElementHandle]
|
|
86
|
+
def query_selector_all: (String selector) -> Array[ElementHandle]
|
|
87
|
+
|
|
88
|
+
# Evaluate a function on the first element matching the selector
|
|
89
|
+
# @rbs selector: String
|
|
90
|
+
# @rbs page_function: String
|
|
91
|
+
# @rbs *args: untyped
|
|
92
|
+
# @rbs return: untyped
|
|
93
|
+
def eval_on_selector: (String selector, String page_function, *untyped args) -> untyped
|
|
94
|
+
|
|
95
|
+
# Evaluate a function on all elements matching the selector
|
|
96
|
+
# @rbs selector: String
|
|
97
|
+
# @rbs page_function: String
|
|
98
|
+
# @rbs *args: untyped
|
|
99
|
+
# @rbs return: untyped
|
|
100
|
+
def eval_on_selector_all: (String selector, String page_function, *untyped args) -> untyped
|
|
101
|
+
|
|
102
|
+
# Click an element matching the selector
|
|
103
|
+
# @rbs selector: String
|
|
104
|
+
# @rbs button: String
|
|
105
|
+
# @rbs count: Integer
|
|
106
|
+
# @rbs delay: Numeric?
|
|
107
|
+
# @rbs offset: Hash[Symbol, Numeric]?
|
|
108
|
+
# @rbs return: void
|
|
109
|
+
def click: (String selector, ?button: String, ?count: Integer, ?delay: Numeric?, ?offset: Hash[Symbol, Numeric]?) -> void
|
|
110
|
+
|
|
111
|
+
# Type text into an element matching the selector
|
|
112
|
+
# @rbs selector: String
|
|
113
|
+
# @rbs text: String
|
|
114
|
+
# @rbs delay: Numeric
|
|
115
|
+
# @rbs return: void
|
|
116
|
+
def type: (String selector, String text, ?delay: Numeric) -> void
|
|
117
|
+
|
|
118
|
+
# Hover over an element matching the selector
|
|
119
|
+
# @rbs selector: String
|
|
120
|
+
# @rbs return: void
|
|
121
|
+
def hover: (String selector) -> void
|
|
122
|
+
|
|
123
|
+
# Focus an element matching the selector
|
|
124
|
+
# @rbs selector: String
|
|
125
|
+
# @rbs return: void
|
|
126
|
+
def focus: (String selector) -> void
|
|
127
|
+
|
|
128
|
+
# Get the page title
|
|
129
|
+
# @rbs return: String
|
|
130
|
+
def title: () -> String
|
|
131
|
+
|
|
132
|
+
# Get the page URL
|
|
133
|
+
# @rbs return: String
|
|
134
|
+
def url: () -> String
|
|
135
|
+
|
|
136
|
+
# Close the page
|
|
137
|
+
# @rbs return: void
|
|
138
|
+
def close: () -> void
|
|
139
|
+
|
|
140
|
+
# Check if page is closed
|
|
141
|
+
# @rbs return: bool
|
|
142
|
+
def closed?: () -> bool
|
|
143
|
+
|
|
144
|
+
# Get the main frame
|
|
145
|
+
# @rbs return: Frame
|
|
146
|
+
def main_frame: () -> Frame
|
|
147
|
+
|
|
148
|
+
# Get the focused frame
|
|
149
|
+
# @rbs return: Frame
|
|
150
|
+
def focused_frame: () -> Frame
|
|
151
|
+
|
|
152
|
+
# Get all frames (main frame + all nested child frames)
|
|
153
|
+
# Following Puppeteer's pattern of returning all frames recursively
|
|
154
|
+
# @rbs return: Array[Frame]
|
|
155
|
+
def frames: () -> Array[Frame]
|
|
156
|
+
|
|
157
|
+
# Get the mouse instance
|
|
158
|
+
# @rbs return: Mouse
|
|
159
|
+
def mouse: () -> Mouse
|
|
160
|
+
|
|
161
|
+
# Get the keyboard instance
|
|
162
|
+
# @rbs return: Keyboard
|
|
163
|
+
def keyboard: () -> Keyboard
|
|
164
|
+
|
|
165
|
+
# Wait for a function to return a truthy value
|
|
166
|
+
# @rbs page_function: String
|
|
167
|
+
# @rbs options: Hash[Symbol, untyped]
|
|
168
|
+
# @rbs *args: untyped
|
|
169
|
+
# @rbs &block: ((JSHandle) -> void)?
|
|
170
|
+
# @rbs return: JSHandle
|
|
171
|
+
def wait_for_function: (String page_function, ?Hash[Symbol, untyped] options, *untyped args) ?{ (?) -> untyped } -> JSHandle
|
|
172
|
+
|
|
173
|
+
# Wait for an element matching the selector to appear in the page
|
|
174
|
+
# @rbs selector: String
|
|
175
|
+
# @rbs visible: bool?
|
|
176
|
+
# @rbs hidden: bool?
|
|
177
|
+
# @rbs timeout: Numeric?
|
|
178
|
+
# @rbs &block: ((ElementHandle?) -> void)?
|
|
179
|
+
# @rbs return: ElementHandle?
|
|
180
|
+
def wait_for_selector: (String selector, ?visible: bool?, ?hidden: bool?, ?timeout: Numeric?) ?{ (?) -> untyped } -> ElementHandle?
|
|
181
|
+
|
|
182
|
+
# Set the default timeout for waiting operations (e.g., waitForFunction).
|
|
183
|
+
# @rbs timeout: Numeric
|
|
184
|
+
# @rbs return: void
|
|
185
|
+
def set_default_timeout: (Numeric timeout) -> void
|
|
186
|
+
|
|
187
|
+
# Get the current default timeout in milliseconds.
|
|
188
|
+
# @rbs return: Numeric
|
|
189
|
+
def default_timeout: () -> Numeric
|
|
190
|
+
|
|
191
|
+
# Wait for navigation to complete
|
|
192
|
+
# @rbs timeout: Numeric
|
|
193
|
+
# @rbs wait_until: String
|
|
194
|
+
# @rbs &block: (-> void)?
|
|
195
|
+
# @rbs return: HTTPResponse?
|
|
196
|
+
def wait_for_navigation: (?timeout: Numeric, ?wait_until: String) ?{ (?) -> untyped } -> HTTPResponse?
|
|
197
|
+
|
|
198
|
+
# Wait for a file chooser to be opened
|
|
199
|
+
# @rbs timeout: Numeric?
|
|
200
|
+
# @rbs &block: (-> void)?
|
|
201
|
+
# @rbs return: FileChooser
|
|
202
|
+
def wait_for_file_chooser: (?timeout: Numeric?) ?{ (?) -> untyped } -> FileChooser
|
|
203
|
+
|
|
204
|
+
# Wait for network to be idle (no more than concurrency connections for idle_time)
|
|
205
|
+
# Based on Puppeteer's waitForNetworkIdle implementation
|
|
206
|
+
# @rbs idle_time: Numeric
|
|
207
|
+
# @rbs timeout: Numeric
|
|
208
|
+
# @rbs concurrency: Integer
|
|
209
|
+
# @rbs return: void
|
|
210
|
+
def wait_for_network_idle: (?idle_time: Numeric, ?timeout: Numeric, ?concurrency: Integer) -> void
|
|
211
|
+
|
|
212
|
+
# Set viewport size
|
|
213
|
+
# @rbs width: Integer
|
|
214
|
+
# @rbs height: Integer
|
|
215
|
+
# @rbs return: void
|
|
216
|
+
def set_viewport: (width: Integer, height: Integer) -> void
|
|
217
|
+
|
|
218
|
+
# Get current viewport size
|
|
219
|
+
# @rbs return: Hash[Symbol, Integer]?
|
|
220
|
+
def viewport: () -> Hash[Symbol, Integer]?
|
|
221
|
+
|
|
222
|
+
alias viewport= set_viewport
|
|
223
|
+
|
|
224
|
+
alias default_timeout= set_default_timeout
|
|
225
|
+
|
|
226
|
+
# Set JavaScript enabled state
|
|
227
|
+
# @rbs enabled: bool
|
|
228
|
+
# @rbs return: void
|
|
229
|
+
def set_javascript_enabled: (bool enabled) -> void
|
|
230
|
+
|
|
231
|
+
# Check if JavaScript is enabled
|
|
232
|
+
# @rbs return: bool
|
|
233
|
+
def javascript_enabled?: () -> bool
|
|
234
|
+
|
|
235
|
+
private
|
|
236
|
+
|
|
237
|
+
# Recursively collect all frames starting from the given frame
|
|
238
|
+
# @rbs frame: Frame
|
|
239
|
+
# @rbs return: Array[Frame]
|
|
240
|
+
def collect_frames: (Frame frame) -> Array[Frame]
|
|
241
|
+
|
|
242
|
+
# Check if this page is closed and raise error if so
|
|
243
|
+
# @rbs return: void
|
|
244
|
+
def assert_not_closed: () -> void
|
|
245
|
+
end
|
|
246
|
+
end
|
|
247
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Generated from lib/puppeteer/bidi.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Puppeteer
|
|
4
|
+
module Bidi
|
|
5
|
+
# Launch a new browser instance
|
|
6
|
+
# @rbs **options: untyped
|
|
7
|
+
# @rbs return: Browser
|
|
8
|
+
def self.launch: (**untyped options) -> Browser
|
|
9
|
+
|
|
10
|
+
# Connect to an existing browser instance
|
|
11
|
+
# @rbs ws_endpoint: String
|
|
12
|
+
# @rbs return: Browser
|
|
13
|
+
def self.connect: (String ws_endpoint) -> Browser
|
|
14
|
+
end
|
|
15
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: puppeteer-bidi
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.1.beta1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- YusukeIwaki
|
|
8
|
+
bindir: exe
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: async
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - "~>"
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '2.0'
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - "~>"
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '2.0'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: async-websocket
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - "~>"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '0.26'
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - "~>"
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '0.26'
|
|
40
|
+
- !ruby/object:Gem::Dependency
|
|
41
|
+
name: async-http
|
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - "~>"
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '0.66'
|
|
47
|
+
type: :runtime
|
|
48
|
+
prerelease: false
|
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - "~>"
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '0.66'
|
|
54
|
+
- !ruby/object:Gem::Dependency
|
|
55
|
+
name: base64
|
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - "~>"
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '0.2'
|
|
61
|
+
type: :runtime
|
|
62
|
+
prerelease: false
|
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - "~>"
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '0.2'
|
|
68
|
+
description: Puppeteer-BiDi is a Ruby implementation of Puppeteer that uses the WebDriver
|
|
69
|
+
BiDi protocol to automate Firefox browsers. Unlike puppeteer-ruby which uses Chrome
|
|
70
|
+
DevTools Protocol (CDP), this gem focuses on BiDi protocol support for cross-browser
|
|
71
|
+
automation, particularly targeting Firefox.
|
|
72
|
+
email:
|
|
73
|
+
- iwaki@i3-systems.com
|
|
74
|
+
executables: []
|
|
75
|
+
extensions: []
|
|
76
|
+
extra_rdoc_files: []
|
|
77
|
+
files:
|
|
78
|
+
- ".rspec"
|
|
79
|
+
- ".rubocop.yml"
|
|
80
|
+
- CLAUDE.md
|
|
81
|
+
- CLAUDE/README.md
|
|
82
|
+
- CLAUDE/async_programming.md
|
|
83
|
+
- CLAUDE/click_implementation.md
|
|
84
|
+
- CLAUDE/core_layer_gotchas.md
|
|
85
|
+
- CLAUDE/error_handling.md
|
|
86
|
+
- CLAUDE/file_chooser.md
|
|
87
|
+
- CLAUDE/frame_architecture.md
|
|
88
|
+
- CLAUDE/javascript_evaluation.md
|
|
89
|
+
- CLAUDE/jshandle_implementation.md
|
|
90
|
+
- CLAUDE/keyboard_implementation.md
|
|
91
|
+
- CLAUDE/mouse_implementation.md
|
|
92
|
+
- CLAUDE/navigation_waiting.md
|
|
93
|
+
- CLAUDE/porting_puppeteer.md
|
|
94
|
+
- CLAUDE/query_handler.md
|
|
95
|
+
- CLAUDE/rspec_pending_vs_skip.md
|
|
96
|
+
- CLAUDE/selector_evaluation.md
|
|
97
|
+
- CLAUDE/test_server_routes.md
|
|
98
|
+
- CLAUDE/testing_strategy.md
|
|
99
|
+
- CLAUDE/two_layer_architecture.md
|
|
100
|
+
- CLAUDE/wrapped_element_click.md
|
|
101
|
+
- LICENSE.txt
|
|
102
|
+
- README.md
|
|
103
|
+
- Rakefile
|
|
104
|
+
- lib/puppeteer/bidi.rb
|
|
105
|
+
- lib/puppeteer/bidi/async_utils.rb
|
|
106
|
+
- lib/puppeteer/bidi/browser.rb
|
|
107
|
+
- lib/puppeteer/bidi/browser_context.rb
|
|
108
|
+
- lib/puppeteer/bidi/browser_launcher.rb
|
|
109
|
+
- lib/puppeteer/bidi/connection.rb
|
|
110
|
+
- lib/puppeteer/bidi/core.rb
|
|
111
|
+
- lib/puppeteer/bidi/core/README.md
|
|
112
|
+
- lib/puppeteer/bidi/core/browser.rb
|
|
113
|
+
- lib/puppeteer/bidi/core/browsing_context.rb
|
|
114
|
+
- lib/puppeteer/bidi/core/disposable.rb
|
|
115
|
+
- lib/puppeteer/bidi/core/errors.rb
|
|
116
|
+
- lib/puppeteer/bidi/core/event_emitter.rb
|
|
117
|
+
- lib/puppeteer/bidi/core/navigation.rb
|
|
118
|
+
- lib/puppeteer/bidi/core/realm.rb
|
|
119
|
+
- lib/puppeteer/bidi/core/request.rb
|
|
120
|
+
- lib/puppeteer/bidi/core/session.rb
|
|
121
|
+
- lib/puppeteer/bidi/core/user_context.rb
|
|
122
|
+
- lib/puppeteer/bidi/core/user_prompt.rb
|
|
123
|
+
- lib/puppeteer/bidi/deserializer.rb
|
|
124
|
+
- lib/puppeteer/bidi/element_handle.rb
|
|
125
|
+
- lib/puppeteer/bidi/errors.rb
|
|
126
|
+
- lib/puppeteer/bidi/file_chooser.rb
|
|
127
|
+
- lib/puppeteer/bidi/frame.rb
|
|
128
|
+
- lib/puppeteer/bidi/http_response.rb
|
|
129
|
+
- lib/puppeteer/bidi/injected.js
|
|
130
|
+
- lib/puppeteer/bidi/injected_source.rb
|
|
131
|
+
- lib/puppeteer/bidi/js_handle.rb
|
|
132
|
+
- lib/puppeteer/bidi/keyboard.rb
|
|
133
|
+
- lib/puppeteer/bidi/lazy_arg.rb
|
|
134
|
+
- lib/puppeteer/bidi/mouse.rb
|
|
135
|
+
- lib/puppeteer/bidi/page.rb
|
|
136
|
+
- lib/puppeteer/bidi/query_handler.rb
|
|
137
|
+
- lib/puppeteer/bidi/realm.rb
|
|
138
|
+
- lib/puppeteer/bidi/serializer.rb
|
|
139
|
+
- lib/puppeteer/bidi/target.rb
|
|
140
|
+
- lib/puppeteer/bidi/task_manager.rb
|
|
141
|
+
- lib/puppeteer/bidi/timeout_settings.rb
|
|
142
|
+
- lib/puppeteer/bidi/transport.rb
|
|
143
|
+
- lib/puppeteer/bidi/version.rb
|
|
144
|
+
- lib/puppeteer/bidi/wait_task.rb
|
|
145
|
+
- scripts/update_injected_source.rb
|
|
146
|
+
- sig/puppeteer/bidi.rbs
|
|
147
|
+
- sig/puppeteer/bidi/browser.rbs
|
|
148
|
+
- sig/puppeteer/bidi/element_handle.rbs
|
|
149
|
+
- sig/puppeteer/bidi/frame.rbs
|
|
150
|
+
- sig/puppeteer/bidi/js_handle.rbs
|
|
151
|
+
- sig/puppeteer/bidi/page.rbs
|
|
152
|
+
homepage: https://github.com/YusukeIwaki/puppeteer-bidi
|
|
153
|
+
licenses:
|
|
154
|
+
- MIT
|
|
155
|
+
metadata:
|
|
156
|
+
homepage_uri: https://github.com/YusukeIwaki/puppeteer-bidi
|
|
157
|
+
source_code_uri: https://github.com/YusukeIwaki/puppeteer-bidi
|
|
158
|
+
changelog_uri: https://github.com/YusukeIwaki/puppeteer-bidi/blob/master/CHANGELOG.md
|
|
159
|
+
rdoc_options: []
|
|
160
|
+
require_paths:
|
|
161
|
+
- lib
|
|
162
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
163
|
+
requirements:
|
|
164
|
+
- - ">="
|
|
165
|
+
- !ruby/object:Gem::Version
|
|
166
|
+
version: 3.2.0
|
|
167
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
168
|
+
requirements:
|
|
169
|
+
- - ">="
|
|
170
|
+
- !ruby/object:Gem::Version
|
|
171
|
+
version: '0'
|
|
172
|
+
requirements: []
|
|
173
|
+
rubygems_version: 3.6.9
|
|
174
|
+
specification_version: 4
|
|
175
|
+
summary: A Ruby port of Puppeteer using WebDriver BiDi protocol for Firefox automation
|
|
176
|
+
test_files: []
|