puppeteer-ruby 0.50.0.alpha5 → 0.50.0.alpha6
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 +4 -4
- data/AGENTS.md +1 -0
- data/CLAUDE/porting_puppeteer.md +30 -0
- data/CLAUDE/spec_migration_plans.md +8 -10
- data/README.md +3 -2
- data/docs/api_coverage.md +20 -20
- data/lib/puppeteer/element_handle.rb +5 -0
- data/lib/puppeteer/frame.rb +15 -0
- data/lib/puppeteer/js_handle.rb +22 -3
- data/lib/puppeteer/locators.rb +733 -0
- data/lib/puppeteer/p_query_handler.rb +367 -0
- data/lib/puppeteer/p_selector_parser.rb +241 -0
- data/lib/puppeteer/page.rb +15 -0
- data/lib/puppeteer/query_handler_manager.rb +14 -60
- data/lib/puppeteer/version.rb +1 -1
- data/lib/puppeteer.rb +3 -0
- data/sig/puppeteer/element_handle.rbs +3 -0
- data/sig/puppeteer/frame.rbs +7 -0
- data/sig/puppeteer/locators.rbs +222 -0
- data/sig/puppeteer/p_query_handler.rbs +73 -0
- data/sig/puppeteer/p_selector_parser.rbs +31 -0
- data/sig/puppeteer/page.rbs +7 -0
- metadata +8 -2
data/lib/puppeteer/version.rb
CHANGED
data/lib/puppeteer.rb
CHANGED
|
@@ -70,6 +70,8 @@ require 'puppeteer/network_manager'
|
|
|
70
70
|
require 'puppeteer/page'
|
|
71
71
|
require 'puppeteer/protocol_stream_reader'
|
|
72
72
|
require 'puppeteer/puppeteer'
|
|
73
|
+
require 'puppeteer/p_selector_parser'
|
|
74
|
+
require 'puppeteer/p_query_handler'
|
|
73
75
|
require 'puppeteer/query_handler_manager'
|
|
74
76
|
require 'puppeteer/remote_object'
|
|
75
77
|
require 'puppeteer/target'
|
|
@@ -86,6 +88,7 @@ require 'puppeteer/web_socket_transport'
|
|
|
86
88
|
|
|
87
89
|
# subclasses
|
|
88
90
|
require 'puppeteer/element_handle'
|
|
91
|
+
require 'puppeteer/locators'
|
|
89
92
|
|
|
90
93
|
# ref: https://github.com/puppeteer/puppeteer/blob/master/lib/Puppeteer.js
|
|
91
94
|
module Puppeteer
|
|
@@ -112,6 +112,9 @@ class Puppeteer::ElementHandle < Puppeteer::JSHandle
|
|
|
112
112
|
# @rbs return: Puppeteer::ElementHandle -- Element handle
|
|
113
113
|
def as_element: () -> Puppeteer::ElementHandle
|
|
114
114
|
|
|
115
|
+
# @rbs return: Puppeteer::Locator -- Locator for this element
|
|
116
|
+
def as_locator: () -> Puppeteer::Locator
|
|
117
|
+
|
|
115
118
|
# @rbs return: bool -- Whether element is visible
|
|
116
119
|
def visible?: () -> bool
|
|
117
120
|
|
data/sig/puppeteer/frame.rbs
CHANGED
|
@@ -19,6 +19,13 @@ class Puppeteer::Frame
|
|
|
19
19
|
# @rbs return: Puppeteer::Page -- Owning page
|
|
20
20
|
def page: () -> Puppeteer::Page
|
|
21
21
|
|
|
22
|
+
# @rbs return: Numeric -- Default timeout in milliseconds
|
|
23
|
+
def default_timeout: () -> Numeric
|
|
24
|
+
|
|
25
|
+
# @rbs selector_or_function: String -- Selector or JS function
|
|
26
|
+
# @rbs return: Puppeteer::Locator -- Locator for selector or function
|
|
27
|
+
def locator: (String selector_or_function) -> Puppeteer::Locator
|
|
28
|
+
|
|
22
29
|
# @rbs return: bool -- Whether this is an OOPIF frame
|
|
23
30
|
def oop_frame?: () -> bool
|
|
24
31
|
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
# Generated from lib/puppeteer/locators.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Puppeteer
|
|
4
|
+
module LocatorEvent
|
|
5
|
+
Action: ::String
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class Puppeteer::Locator
|
|
10
|
+
include Puppeteer::EventCallbackable
|
|
11
|
+
|
|
12
|
+
RETRY_DELAY_SECONDS: ::Float
|
|
13
|
+
|
|
14
|
+
class TimeoutController
|
|
15
|
+
def initialize: (untyped timeout) -> untyped
|
|
16
|
+
|
|
17
|
+
attr_reader timeout: untyped
|
|
18
|
+
|
|
19
|
+
def remaining_timeout: () -> untyped
|
|
20
|
+
|
|
21
|
+
def exceeded?: () -> untyped
|
|
22
|
+
|
|
23
|
+
def check!: (?untyped cause) -> untyped
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def initialize: () -> untyped
|
|
27
|
+
|
|
28
|
+
# @rbs locators: Array[Puppeteer::Locator] -- Locator candidates
|
|
29
|
+
# @rbs return: Puppeteer::Locator -- Locator that races candidates
|
|
30
|
+
def self.race: (Array[Puppeteer::Locator] locators) -> Puppeteer::Locator
|
|
31
|
+
|
|
32
|
+
# @rbs input: String -- Input string to check
|
|
33
|
+
# @rbs return: bool -- Whether string looks like a JS function
|
|
34
|
+
def self.function_string?: (String input) -> bool
|
|
35
|
+
|
|
36
|
+
# @rbs return: Numeric -- Timeout in milliseconds
|
|
37
|
+
def timeout: () -> Numeric
|
|
38
|
+
|
|
39
|
+
# @rbs timeout: Numeric -- Timeout in milliseconds
|
|
40
|
+
# @rbs return: Puppeteer::Locator -- Updated locator
|
|
41
|
+
def set_timeout: (Numeric timeout) -> Puppeteer::Locator
|
|
42
|
+
|
|
43
|
+
# @rbs visibility: String? -- 'visible', 'hidden', or nil
|
|
44
|
+
# @rbs return: Puppeteer::Locator -- Updated locator
|
|
45
|
+
def set_visibility: (String? visibility) -> Puppeteer::Locator
|
|
46
|
+
|
|
47
|
+
# @rbs value: bool -- Whether to wait for enabled state
|
|
48
|
+
# @rbs return: Puppeteer::Locator -- Updated locator
|
|
49
|
+
def set_wait_for_enabled: (bool value) -> Puppeteer::Locator
|
|
50
|
+
|
|
51
|
+
# @rbs value: bool -- Whether to ensure element is in viewport
|
|
52
|
+
# @rbs return: Puppeteer::Locator -- Updated locator
|
|
53
|
+
def set_ensure_element_is_in_the_viewport: (bool value) -> Puppeteer::Locator
|
|
54
|
+
|
|
55
|
+
# @rbs value: bool -- Whether to wait for stable bounding box
|
|
56
|
+
# @rbs return: Puppeteer::Locator -- Updated locator
|
|
57
|
+
def set_wait_for_stable_bounding_box: (bool value) -> Puppeteer::Locator
|
|
58
|
+
|
|
59
|
+
# @rbs locator: Puppeteer::Locator -- Locator to copy options from
|
|
60
|
+
# @rbs return: self -- Locator with copied options
|
|
61
|
+
def copy_options: (Puppeteer::Locator locator) -> self
|
|
62
|
+
|
|
63
|
+
# @rbs return: Puppeteer::Locator -- Cloned locator
|
|
64
|
+
def clone: (?freeze: untyped) -> Puppeteer::Locator
|
|
65
|
+
|
|
66
|
+
# @rbs return: Puppeteer::JSHandle -- Handle for located value
|
|
67
|
+
def wait_handle: () -> Puppeteer::JSHandle
|
|
68
|
+
|
|
69
|
+
# @rbs return: untyped -- JSON-serializable value
|
|
70
|
+
def wait: () -> untyped
|
|
71
|
+
|
|
72
|
+
# @rbs mapper: String -- JS mapper function
|
|
73
|
+
# @rbs return: Puppeteer::Locator -- Mapped locator
|
|
74
|
+
def map: (String mapper) -> Puppeteer::Locator
|
|
75
|
+
|
|
76
|
+
# @rbs predicate: String -- JS predicate function
|
|
77
|
+
# @rbs return: Puppeteer::Locator -- Filtered locator
|
|
78
|
+
def filter: (String predicate) -> Puppeteer::Locator
|
|
79
|
+
|
|
80
|
+
# @rbs predicate: Proc -- Handle predicate
|
|
81
|
+
# @rbs return: Puppeteer::Locator -- Filtered locator
|
|
82
|
+
def filter_handle: (Proc predicate) -> Puppeteer::Locator
|
|
83
|
+
|
|
84
|
+
# @rbs mapper: Proc -- Handle mapper
|
|
85
|
+
# @rbs return: Puppeteer::Locator -- Mapped locator
|
|
86
|
+
def map_handle: (Proc mapper) -> Puppeteer::Locator
|
|
87
|
+
|
|
88
|
+
# @rbs delay: Numeric? -- Delay between down and up (ms)
|
|
89
|
+
# @rbs button: String? -- Mouse button
|
|
90
|
+
# @rbs click_count: Integer? -- Deprecated click count
|
|
91
|
+
# @rbs count: Integer? -- Number of clicks
|
|
92
|
+
# @rbs offset: Hash[Symbol, Numeric]? -- Click offset
|
|
93
|
+
# @rbs return: void -- No return value
|
|
94
|
+
def click: (?delay: Numeric?, ?button: String?, ?click_count: Integer?, ?count: Integer?, ?offset: Hash[Symbol, Numeric]?) -> void
|
|
95
|
+
|
|
96
|
+
# @rbs value: String -- Value to fill
|
|
97
|
+
# @rbs return: void -- No return value
|
|
98
|
+
def fill: (String value) -> void
|
|
99
|
+
|
|
100
|
+
# @rbs return: void -- No return value
|
|
101
|
+
def hover: () -> void
|
|
102
|
+
|
|
103
|
+
# @rbs scroll_top: Numeric? -- Scroll top position
|
|
104
|
+
# @rbs scroll_left: Numeric? -- Scroll left position
|
|
105
|
+
# @rbs return: void -- No return value
|
|
106
|
+
def scroll: (?scroll_top: Numeric?, ?scroll_left: Numeric?) -> void
|
|
107
|
+
|
|
108
|
+
# @rbs event_name: String -- Event name
|
|
109
|
+
# @rbs block: Proc -- Event handler
|
|
110
|
+
# @rbs return: Puppeteer::Locator -- Locator for chaining
|
|
111
|
+
def on: (String event_name) ?{ (?) -> untyped } -> Puppeteer::Locator
|
|
112
|
+
|
|
113
|
+
# @rbs event_name: String -- Event name
|
|
114
|
+
# @rbs block: Proc -- Event handler
|
|
115
|
+
# @rbs return: Puppeteer::Locator -- Locator for chaining
|
|
116
|
+
def once: (String event_name) ?{ (?) -> untyped } -> Puppeteer::Locator
|
|
117
|
+
|
|
118
|
+
def _clone: () -> untyped
|
|
119
|
+
|
|
120
|
+
def _wait: (untyped _options) -> untyped
|
|
121
|
+
|
|
122
|
+
private def perform_action: (untyped name, conditions: untyped) ?{ (?) -> untyped } -> untyped
|
|
123
|
+
|
|
124
|
+
private def with_retry: (untyped _name) ?{ (?) -> untyped } -> untyped
|
|
125
|
+
|
|
126
|
+
private def build_action_options: (untyped timeout_controller) -> untyped
|
|
127
|
+
|
|
128
|
+
private def run_conditions: (untyped handle, untyped options, untyped conditions) -> untyped
|
|
129
|
+
|
|
130
|
+
private def wait_for_enabled_if_needed: (untyped handle, untyped options) -> untyped
|
|
131
|
+
|
|
132
|
+
private def wait_for_stable_bounding_box_if_needed: (untyped handle, untyped options) -> untyped
|
|
133
|
+
|
|
134
|
+
private def ensure_element_is_in_viewport_if_needed: (untyped handle, untyped options) -> untyped
|
|
135
|
+
|
|
136
|
+
private def fill_element: (untyped handle, untyped value) -> untyped
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
class Puppeteer::FunctionLocator < Puppeteer::Locator
|
|
140
|
+
# @rbs page_or_frame: Puppeteer::Page | Puppeteer::Frame -- Page or frame
|
|
141
|
+
# @rbs func: String -- JS function to evaluate
|
|
142
|
+
# @rbs return: Puppeteer::Locator -- Function locator
|
|
143
|
+
def self.create: (Puppeteer::Page | Puppeteer::Frame page_or_frame, String func) -> Puppeteer::Locator
|
|
144
|
+
|
|
145
|
+
def initialize: (untyped page_or_frame, untyped func) -> untyped
|
|
146
|
+
|
|
147
|
+
def _clone: () -> untyped
|
|
148
|
+
|
|
149
|
+
def _wait: (untyped options) -> untyped
|
|
150
|
+
|
|
151
|
+
def self.default_timeout_for: (untyped page_or_frame) -> untyped
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
class Puppeteer::DelegatedLocator < Puppeteer::Locator
|
|
155
|
+
def initialize: (untyped delegate) -> untyped
|
|
156
|
+
|
|
157
|
+
def delegate: () -> untyped
|
|
158
|
+
|
|
159
|
+
def set_timeout: (untyped timeout) -> untyped
|
|
160
|
+
|
|
161
|
+
def set_visibility: (untyped visibility) -> untyped
|
|
162
|
+
|
|
163
|
+
def set_wait_for_enabled: (untyped value) -> untyped
|
|
164
|
+
|
|
165
|
+
def set_ensure_element_is_in_the_viewport: (untyped value) -> untyped
|
|
166
|
+
|
|
167
|
+
def set_wait_for_stable_bounding_box: (untyped value) -> untyped
|
|
168
|
+
|
|
169
|
+
def _clone: () -> untyped
|
|
170
|
+
|
|
171
|
+
def _wait: (untyped _options) -> untyped
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
class Puppeteer::FilteredLocator < Puppeteer::DelegatedLocator
|
|
175
|
+
def initialize: (untyped base, untyped predicate) -> untyped
|
|
176
|
+
|
|
177
|
+
def _clone: () -> untyped
|
|
178
|
+
|
|
179
|
+
def _wait: (untyped options) -> untyped
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
class Puppeteer::MappedLocator < Puppeteer::DelegatedLocator
|
|
183
|
+
def initialize: (untyped base, untyped mapper) -> untyped
|
|
184
|
+
|
|
185
|
+
def _clone: () -> untyped
|
|
186
|
+
|
|
187
|
+
def _wait: (untyped options) -> untyped
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
class Puppeteer::NodeLocator < Puppeteer::Locator
|
|
191
|
+
# @rbs page_or_frame: Puppeteer::Page | Puppeteer::Frame -- Page or frame
|
|
192
|
+
# @rbs selector: String -- Selector
|
|
193
|
+
# @rbs return: Puppeteer::Locator -- Node locator
|
|
194
|
+
def self.create: (Puppeteer::Page | Puppeteer::Frame page_or_frame, String selector) -> Puppeteer::Locator
|
|
195
|
+
|
|
196
|
+
# @rbs page_or_frame: Puppeteer::Page | Puppeteer::Frame -- Page or frame
|
|
197
|
+
# @rbs handle: Puppeteer::ElementHandle -- Element handle
|
|
198
|
+
# @rbs return: Puppeteer::Locator -- Node locator
|
|
199
|
+
def self.create_from_handle: (Puppeteer::Page | Puppeteer::Frame page_or_frame, Puppeteer::ElementHandle handle) -> Puppeteer::Locator
|
|
200
|
+
|
|
201
|
+
def initialize: (untyped page_or_frame, untyped selector_or_handle) -> untyped
|
|
202
|
+
|
|
203
|
+
def _clone: () -> untyped
|
|
204
|
+
|
|
205
|
+
def _wait: (untyped options) -> untyped
|
|
206
|
+
|
|
207
|
+
private def wait_for_visibility_if_needed: (untyped handle, untyped options) -> untyped
|
|
208
|
+
|
|
209
|
+
def self.default_timeout_for: (untyped page_or_frame) -> untyped
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
class Puppeteer::RaceLocator < Puppeteer::Locator
|
|
213
|
+
def self.create: (untyped locators) -> untyped
|
|
214
|
+
|
|
215
|
+
def initialize: (untyped locators) -> untyped
|
|
216
|
+
|
|
217
|
+
def _clone: () -> untyped
|
|
218
|
+
|
|
219
|
+
def _wait: (untyped options) -> untyped
|
|
220
|
+
|
|
221
|
+
def self.check_locator_array: (untyped locators) -> untyped
|
|
222
|
+
end
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Generated from lib/puppeteer/p_query_handler.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
class Puppeteer::PQueryHandler
|
|
4
|
+
POLLING_DEFAULT_SECONDS: ::Float
|
|
5
|
+
|
|
6
|
+
CSS_QUERY_SELECTOR_JS: ::String
|
|
7
|
+
|
|
8
|
+
PIERCE_JS: ::String
|
|
9
|
+
|
|
10
|
+
PIERCE_ALL_JS: ::String
|
|
11
|
+
|
|
12
|
+
DOM_SORT_JS: ::String
|
|
13
|
+
|
|
14
|
+
# @rbs query_handler_manager: untyped -- Query handler manager
|
|
15
|
+
# @rbs return: void -- No return value
|
|
16
|
+
def initialize: (?query_handler_manager: untyped) -> void
|
|
17
|
+
|
|
18
|
+
# @rbs element: Puppeteer::ElementHandle -- Root element
|
|
19
|
+
# @rbs selector: String -- PSelector string
|
|
20
|
+
# @rbs return: Puppeteer::ElementHandle? -- First matching element
|
|
21
|
+
def query_one: (Puppeteer::ElementHandle element, String selector) -> Puppeteer::ElementHandle?
|
|
22
|
+
|
|
23
|
+
# @rbs element: Puppeteer::ElementHandle -- Root element
|
|
24
|
+
# @rbs selector: String -- PSelector string
|
|
25
|
+
# @rbs return: Array[Puppeteer::ElementHandle] -- Matching elements
|
|
26
|
+
def query_all: (Puppeteer::ElementHandle element, String selector) -> Array[Puppeteer::ElementHandle]
|
|
27
|
+
|
|
28
|
+
# @rbs element: Puppeteer::ElementHandle -- Root element
|
|
29
|
+
# @rbs selector: String -- PSelector string
|
|
30
|
+
# @rbs return: Puppeteer::JSHandle -- Handle to array of elements
|
|
31
|
+
def query_all_array: (Puppeteer::ElementHandle element, String selector) -> Puppeteer::JSHandle
|
|
32
|
+
|
|
33
|
+
# @rbs element_or_frame: Puppeteer::ElementHandle | Puppeteer::Frame -- Root element or frame
|
|
34
|
+
# @rbs selector: String -- PSelector string
|
|
35
|
+
# @rbs visible: bool? -- Wait for element to be visible
|
|
36
|
+
# @rbs hidden: bool? -- Wait for element to be hidden
|
|
37
|
+
# @rbs timeout: Numeric? -- Timeout in milliseconds
|
|
38
|
+
# @rbs polling: (String | Numeric | nil) -- Polling strategy
|
|
39
|
+
# @rbs return: Puppeteer::ElementHandle? -- Matching element
|
|
40
|
+
def wait_for: (Puppeteer::ElementHandle | Puppeteer::Frame element_or_frame, String selector, visible: bool?, hidden: bool?, timeout: Numeric?, ?polling: String | Numeric | nil) -> Puppeteer::ElementHandle?
|
|
41
|
+
|
|
42
|
+
private
|
|
43
|
+
|
|
44
|
+
def run_complex_selector: (untyped root, untyped complex) -> untyped
|
|
45
|
+
|
|
46
|
+
def apply_compound: (untyped elements, untyped compound) -> untyped
|
|
47
|
+
|
|
48
|
+
def apply_css_selector: (untyped elements, untyped selector) -> untyped
|
|
49
|
+
|
|
50
|
+
def query_css_selector: (untyped element, untyped selector) -> untyped
|
|
51
|
+
|
|
52
|
+
def apply_pseudo_selector: (untyped elements, untyped pseudo) -> untyped
|
|
53
|
+
|
|
54
|
+
def query_handler_for_pseudo: (untyped name) -> untyped
|
|
55
|
+
|
|
56
|
+
def pierce: (untyped elements) -> untyped
|
|
57
|
+
|
|
58
|
+
def pierce_all: (untyped elements) -> untyped
|
|
59
|
+
|
|
60
|
+
def dom_sort: (untyped elements) -> untyped
|
|
61
|
+
|
|
62
|
+
def array_handle_to_elements: (untyped array_handle) -> untyped
|
|
63
|
+
|
|
64
|
+
def ensure_context: (untyped handle, untyped context) -> untyped
|
|
65
|
+
|
|
66
|
+
def transfer_handle: (untyped frame, untyped handle) -> untyped
|
|
67
|
+
|
|
68
|
+
def polling_interval_seconds: (untyped polling, visible: untyped, hidden: untyped) -> untyped
|
|
69
|
+
|
|
70
|
+
def monotonic_time: () -> untyped
|
|
71
|
+
|
|
72
|
+
def raise_timeout: (untyped selector) -> untyped
|
|
73
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Generated from lib/puppeteer/p_selector_parser.rb with RBS::Inline
|
|
2
|
+
|
|
3
|
+
module Puppeteer
|
|
4
|
+
module PSelectorParser
|
|
5
|
+
class PseudoSelector
|
|
6
|
+
attr_reader name: untyped
|
|
7
|
+
|
|
8
|
+
attr_reader value: untyped
|
|
9
|
+
|
|
10
|
+
def initialize: (name: untyped, value: untyped) -> untyped
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
PSEUDO_PREFIX: ::String
|
|
14
|
+
|
|
15
|
+
# @rbs selector: String -- Selector to parse
|
|
16
|
+
# @rbs return: [Array[untyped], bool, bool, bool] -- Parsed selectors and flags
|
|
17
|
+
def self.parse: (String selector) -> [ Array[untyped], bool, bool, bool ]
|
|
18
|
+
|
|
19
|
+
def self.flush_storage: (untyped storage, untyped compound) -> untyped
|
|
20
|
+
|
|
21
|
+
def self.parse_name: (untyped selector, untyped index) -> untyped
|
|
22
|
+
|
|
23
|
+
def self.skip_spaces: (untyped selector, untyped index) -> untyped
|
|
24
|
+
|
|
25
|
+
def self.parse_argument: (untyped selector, untyped index) -> untyped
|
|
26
|
+
|
|
27
|
+
def self.starts_with_at?: (untyped selector, untyped index, untyped token) -> untyped
|
|
28
|
+
|
|
29
|
+
def self.unquote: (untyped text) -> untyped
|
|
30
|
+
end
|
|
31
|
+
end
|
data/sig/puppeteer/page.rbs
CHANGED
|
@@ -138,6 +138,13 @@ class Puppeteer::Page
|
|
|
138
138
|
# @rbs return: void -- No return value
|
|
139
139
|
def default_timeout=: (Numeric? timeout) -> void
|
|
140
140
|
|
|
141
|
+
# @rbs return: Numeric -- Default timeout in milliseconds
|
|
142
|
+
def default_timeout: () -> Numeric
|
|
143
|
+
|
|
144
|
+
# @rbs selector_or_function: String -- Selector or JS function
|
|
145
|
+
# @rbs return: Puppeteer::Locator -- Locator for selector or function
|
|
146
|
+
def locator: (String selector_or_function) -> Puppeteer::Locator
|
|
147
|
+
|
|
141
148
|
# `$()` in JavaScript.
|
|
142
149
|
# @rbs selector: String -- CSS selector
|
|
143
150
|
# @rbs return: Puppeteer::ElementHandle? -- Matching element or nil
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: puppeteer-ruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.50.0.
|
|
4
|
+
version: 0.50.0.alpha6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- YusukeIwaki
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-01-
|
|
11
|
+
date: 2026-01-24 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: async
|
|
@@ -360,11 +360,14 @@ files:
|
|
|
360
360
|
- lib/puppeteer/launcher/chrome_arg_options.rb
|
|
361
361
|
- lib/puppeteer/launcher/launch_options.rb
|
|
362
362
|
- lib/puppeteer/lifecycle_watcher.rb
|
|
363
|
+
- lib/puppeteer/locators.rb
|
|
363
364
|
- lib/puppeteer/mouse.rb
|
|
364
365
|
- lib/puppeteer/network_condition.rb
|
|
365
366
|
- lib/puppeteer/network_conditions.rb
|
|
366
367
|
- lib/puppeteer/network_event_manager.rb
|
|
367
368
|
- lib/puppeteer/network_manager.rb
|
|
369
|
+
- lib/puppeteer/p_query_handler.rb
|
|
370
|
+
- lib/puppeteer/p_selector_parser.rb
|
|
368
371
|
- lib/puppeteer/page.rb
|
|
369
372
|
- lib/puppeteer/page/metrics.rb
|
|
370
373
|
- lib/puppeteer/page/pdf_options.rb
|
|
@@ -402,7 +405,10 @@ files:
|
|
|
402
405
|
- sig/puppeteer/http_response.rbs
|
|
403
406
|
- sig/puppeteer/js_handle.rbs
|
|
404
407
|
- sig/puppeteer/keyboard.rbs
|
|
408
|
+
- sig/puppeteer/locators.rbs
|
|
405
409
|
- sig/puppeteer/mouse.rbs
|
|
410
|
+
- sig/puppeteer/p_query_handler.rbs
|
|
411
|
+
- sig/puppeteer/p_selector_parser.rbs
|
|
406
412
|
- sig/puppeteer/page.rbs
|
|
407
413
|
- sig/puppeteer/puppeteer.rbs
|
|
408
414
|
- sig/puppeteer/remote_object.rbs
|