playwright-ruby-client 1.32.0 → 1.33.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/documentation/docs/api/frame.md +6 -1
- data/documentation/docs/api/frame_locator.md +6 -1
- data/documentation/docs/api/locator.md +35 -3
- data/documentation/docs/api/page.md +6 -1
- data/documentation/docs/api/route.md +1 -0
- data/documentation/docs/include/api_coverage.md +1 -0
- data/lib/playwright/channel_owners/frame.rb +14 -2
- data/lib/playwright/channel_owners/page.rb +12 -2
- data/lib/playwright/channel_owners/request.rb +6 -1
- data/lib/playwright/channel_owners/route.rb +5 -2
- data/lib/playwright/frame_locator_impl.rb +9 -3
- data/lib/playwright/locator_impl.rb +39 -10
- data/lib/playwright/version.rb +2 -2
- data/lib/playwright_api/frame.rb +7 -2
- data/lib/playwright_api/frame_locator.rb +7 -2
- data/lib/playwright_api/locator.rb +33 -5
- data/lib/playwright_api/page.rb +12 -7
- data/lib/playwright_api/route.rb +2 -1
- data/sig/playwright.rbs +7 -6
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ebc7a6ffab254ce53486bcaf8ad642a42fbadd77f33f48598ee721935f795c98
|
4
|
+
data.tar.gz: bf6473ce5c3ea31bdcca4f072b68aeb4b1b49b0ffb24cc39a7d17955e5de49cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e36fed96c70031d7b78ffffe1b3408251fb86b64afb634304d8fe3434b263de696e99b42cb330bb75b2f68a80683caf56e050dddf1b9ead61d97f2dd885b270
|
7
|
+
data.tar.gz: eb7607a301b420b0c3c587dfa562eccf459a943e425da930c7739a2faccb46888dbfeb84bd83953ef8eb1446322cdc8cd4c4e58f3ca71515999e11dfcd3ba121
|
@@ -779,7 +779,12 @@ Returns whether the element is [visible](https://playwright.dev/python/docs/acti
|
|
779
779
|
## locator
|
780
780
|
|
781
781
|
```
|
782
|
-
def locator(
|
782
|
+
def locator(
|
783
|
+
selector,
|
784
|
+
has: nil,
|
785
|
+
hasNot: nil,
|
786
|
+
hasNotText: nil,
|
787
|
+
hasText: nil)
|
783
788
|
```
|
784
789
|
|
785
790
|
|
@@ -284,7 +284,12 @@ Returns locator to the last matching frame.
|
|
284
284
|
## locator
|
285
285
|
|
286
286
|
```
|
287
|
-
def locator(
|
287
|
+
def locator(
|
288
|
+
selectorOrLocator,
|
289
|
+
has: nil,
|
290
|
+
hasNot: nil,
|
291
|
+
hasNotText: nil,
|
292
|
+
hasText: nil)
|
288
293
|
```
|
289
294
|
|
290
295
|
|
@@ -20,7 +20,11 @@ def all
|
|
20
20
|
When locator points to a list of elements, returns array of locators, pointing
|
21
21
|
to respective elements.
|
22
22
|
|
23
|
-
|
23
|
+
**NOTE**: [Locator#all](./locator#all) does not wait for elements to match the locator, and instead immediately returns whatever is present in the page.
|
24
|
+
|
25
|
+
When the list of elements changes dynamically, [Locator#all](./locator#all) will produce unpredictable and flaky results.
|
26
|
+
|
27
|
+
When the list of elements is stable, but loaded dynamically, wait for the full list to finish loading before calling [Locator#all](./locator#all).
|
24
28
|
|
25
29
|
**Usage**
|
26
30
|
|
@@ -443,7 +447,7 @@ To send fine-grained keyboard events, use [Locator#type](./locator#type).
|
|
443
447
|
## filter
|
444
448
|
|
445
449
|
```
|
446
|
-
def filter(has: nil, hasText: nil)
|
450
|
+
def filter(has: nil, hasNot: nil, hasNotText: nil, hasText: nil)
|
447
451
|
```
|
448
452
|
|
449
453
|
|
@@ -915,7 +919,12 @@ banana = page.get_by_role("listitem").last
|
|
915
919
|
## locator
|
916
920
|
|
917
921
|
```
|
918
|
-
def locator(
|
922
|
+
def locator(
|
923
|
+
selectorOrLocator,
|
924
|
+
has: nil,
|
925
|
+
hasNot: nil,
|
926
|
+
hasNotText: nil,
|
927
|
+
hasText: nil)
|
919
928
|
```
|
920
929
|
|
921
930
|
|
@@ -938,6 +947,29 @@ Returns locator to the n-th matching element. It's zero based, `nth(0)` selects
|
|
938
947
|
banana = page.get_by_role("listitem").nth(2)
|
939
948
|
```
|
940
949
|
|
950
|
+
## or
|
951
|
+
|
952
|
+
```
|
953
|
+
def or(locator)
|
954
|
+
```
|
955
|
+
|
956
|
+
|
957
|
+
Creates a locator that matches either of the two locators.
|
958
|
+
|
959
|
+
**Usage**
|
960
|
+
|
961
|
+
Consider a scenario where you'd like to click on a "New email" button, but sometimes a security settings dialog shows up instead. In this case, you can wait for either a "New email" button, or a dialog and act accordingly.
|
962
|
+
|
963
|
+
```ruby
|
964
|
+
new_email = page.get_by_role("button", name: "New")
|
965
|
+
dialog = page.get_by_text("Confirm security settings")
|
966
|
+
new_email.or(dialog).wait_for(state: 'visible')
|
967
|
+
if dialog.visible?
|
968
|
+
page.get_by_role("button", name: "Dismiss").click
|
969
|
+
end
|
970
|
+
new_email.click
|
971
|
+
```
|
972
|
+
|
941
973
|
## page
|
942
974
|
|
943
975
|
```
|
@@ -1015,7 +1015,12 @@ Returns whether the element is [visible](https://playwright.dev/python/docs/acti
|
|
1015
1015
|
## locator
|
1016
1016
|
|
1017
1017
|
```
|
1018
|
-
def locator(
|
1018
|
+
def locator(
|
1019
|
+
selector,
|
1020
|
+
has: nil,
|
1021
|
+
hasNot: nil,
|
1022
|
+
hasNotText: nil,
|
1023
|
+
hasText: nil)
|
1019
1024
|
```
|
1020
1025
|
|
1021
1026
|
|
@@ -418,8 +418,20 @@ module Playwright
|
|
418
418
|
nil
|
419
419
|
end
|
420
420
|
|
421
|
-
def locator(
|
422
|
-
|
421
|
+
def locator(
|
422
|
+
selector,
|
423
|
+
has: nil,
|
424
|
+
hasNot: nil,
|
425
|
+
hasNotText: nil,
|
426
|
+
hasText: nil)
|
427
|
+
LocatorImpl.new(
|
428
|
+
frame: self,
|
429
|
+
timeout_settings: @page.send(:timeout_settings),
|
430
|
+
selector: selector,
|
431
|
+
has: has,
|
432
|
+
hasNot: hasNot,
|
433
|
+
hasNotText: hasNotText,
|
434
|
+
hasText: hasText)
|
423
435
|
end
|
424
436
|
|
425
437
|
def frame_locator(selector)
|
@@ -614,8 +614,18 @@ module Playwright
|
|
614
614
|
timeout: timeout)
|
615
615
|
end
|
616
616
|
|
617
|
-
def locator(
|
618
|
-
|
617
|
+
def locator(
|
618
|
+
selector,
|
619
|
+
has: nil,
|
620
|
+
hasNot: nil,
|
621
|
+
hasNotText: nil,
|
622
|
+
hasText: nil)
|
623
|
+
@main_frame.locator(
|
624
|
+
selector,
|
625
|
+
has: has,
|
626
|
+
hasNot: hasNot,
|
627
|
+
hasNotText: hasNotText,
|
628
|
+
hasText: hasText)
|
619
629
|
end
|
620
630
|
|
621
631
|
def frame_locator(selector)
|
@@ -19,6 +19,7 @@ module Playwright
|
|
19
19
|
responseEnd: -1,
|
20
20
|
}
|
21
21
|
@fallback_overrides = {}
|
22
|
+
@url = @initializer['url']
|
22
23
|
end
|
23
24
|
|
24
25
|
private def fallback_overrides
|
@@ -35,7 +36,11 @@ module Playwright
|
|
35
36
|
end
|
36
37
|
|
37
38
|
def url
|
38
|
-
@fallback_overrides[:url] || @
|
39
|
+
@fallback_overrides[:url] || @url
|
40
|
+
end
|
41
|
+
|
42
|
+
private def internal_url
|
43
|
+
@url
|
39
44
|
end
|
40
45
|
|
41
46
|
def resource_type
|
@@ -21,7 +21,7 @@ module Playwright
|
|
21
21
|
|
22
22
|
def abort(errorCode: nil)
|
23
23
|
handling_with_result(true) do
|
24
|
-
params = { errorCode: errorCode }.compact
|
24
|
+
params = { requestUrl: request.send(:internal_url), errorCode: errorCode }.compact
|
25
25
|
# TODO _race_with_page_close
|
26
26
|
@channel.async_send_message_to_server('abort', params)
|
27
27
|
end
|
@@ -91,6 +91,7 @@ module Playwright
|
|
91
91
|
|
92
92
|
params[:status] = option_status || 200
|
93
93
|
params[:headers] = HttpHeaders.new(param_headers).as_serialized
|
94
|
+
params[:requestUrl] = request.send(:internal_url)
|
94
95
|
|
95
96
|
@channel.async_send_message_to_server('fulfill', params)
|
96
97
|
end
|
@@ -109,7 +110,7 @@ module Playwright
|
|
109
110
|
end
|
110
111
|
end
|
111
112
|
|
112
|
-
def fetch(headers: nil, method: nil, postData: nil, url: nil, maxRedirects: nil)
|
113
|
+
def fetch(headers: nil, method: nil, postData: nil, url: nil, maxRedirects: nil, timeout: nil)
|
113
114
|
api_request_context = request.frame.page.context.request
|
114
115
|
api_request_context.send(:_inner_fetch,
|
115
116
|
request,
|
@@ -118,6 +119,7 @@ module Playwright
|
|
118
119
|
method: method,
|
119
120
|
data: postData,
|
120
121
|
maxRedirects: maxRedirects,
|
122
|
+
timeout: timeout,
|
121
123
|
)
|
122
124
|
end
|
123
125
|
|
@@ -152,6 +154,7 @@ module Playwright
|
|
152
154
|
if post_data_for_wire
|
153
155
|
params[:postData] = post_data_for_wire
|
154
156
|
end
|
157
|
+
params[:requestUrl] = request.send(:internal_url)
|
155
158
|
|
156
159
|
# TODO _race_with_page_close
|
157
160
|
@channel.async_send_message_to_server('continue', params)
|
@@ -10,14 +10,20 @@ module Playwright
|
|
10
10
|
@frame_selector = frame_selector
|
11
11
|
end
|
12
12
|
|
13
|
-
def locator(
|
13
|
+
def locator(
|
14
|
+
selector,
|
15
|
+
has: nil,
|
16
|
+
hasNot: nil,
|
17
|
+
hasNotText: nil,
|
18
|
+
hasText: nil)
|
14
19
|
LocatorImpl.new(
|
15
20
|
frame: @frame,
|
16
21
|
timeout_settings: @timeout_settings,
|
17
22
|
selector: "#{@frame_selector} >> internal:control=enter-frame >> #{selector}",
|
18
|
-
hasText: hasText,
|
19
23
|
has: has,
|
20
|
-
|
24
|
+
hasNot: hasNot,
|
25
|
+
hasNotText: hasNotText,
|
26
|
+
hasText: hasText)
|
21
27
|
end
|
22
28
|
|
23
29
|
def frame_locator(selector)
|
@@ -5,7 +5,7 @@ module Playwright
|
|
5
5
|
define_api_implementation :LocatorImpl do
|
6
6
|
include LocatorUtils
|
7
7
|
|
8
|
-
def initialize(frame:, timeout_settings:, selector:,
|
8
|
+
def initialize(frame:, timeout_settings:, selector:, has: nil, hasNot: nil, hasNotText: nil, hasText: nil)
|
9
9
|
@frame = frame
|
10
10
|
@timeout_settings = timeout_settings
|
11
11
|
selector_scopes = [selector]
|
@@ -16,11 +16,22 @@ module Playwright
|
|
16
16
|
|
17
17
|
if has
|
18
18
|
unless same_frame?(has)
|
19
|
-
raise DifferentFrameError.new
|
19
|
+
raise DifferentFrameError.new('has')
|
20
20
|
end
|
21
21
|
selector_scopes << "internal:has=#{has.send(:selector_json)}"
|
22
22
|
end
|
23
23
|
|
24
|
+
if hasNotText
|
25
|
+
selector_scopes << "internal:has-not-text=#{escape_for_text_selector(hasNotText, false)}"
|
26
|
+
end
|
27
|
+
|
28
|
+
if hasNot
|
29
|
+
unless same_frame?(hasNot)
|
30
|
+
raise DifferentFrameError.new('hasNot')
|
31
|
+
end
|
32
|
+
selector_scopes << "internal:has-not=#{hasNot.send(:selector_json)}"
|
33
|
+
end
|
34
|
+
|
24
35
|
@selector = selector_scopes.join(' >> ')
|
25
36
|
end
|
26
37
|
|
@@ -36,8 +47,8 @@ module Playwright
|
|
36
47
|
end
|
37
48
|
|
38
49
|
class DifferentFrameError < StandardError
|
39
|
-
def initialize
|
40
|
-
super(
|
50
|
+
def initialize(method_name)
|
51
|
+
super("Inner \"#{method_name}\" locator must belong to the same frame.")
|
41
52
|
end
|
42
53
|
end
|
43
54
|
|
@@ -190,14 +201,20 @@ module Playwright
|
|
190
201
|
@frame.fill(@selector, '', strict: true, force: force, noWaitAfter: noWaitAfter, timeout: timeout)
|
191
202
|
end
|
192
203
|
|
193
|
-
def locator(
|
204
|
+
def locator(
|
205
|
+
selector,
|
206
|
+
has: nil,
|
207
|
+
hasNot: nil,
|
208
|
+
hasNotText: nil,
|
209
|
+
hasText: nil)
|
194
210
|
LocatorImpl.new(
|
195
211
|
frame: @frame,
|
196
212
|
timeout_settings: @timeout_settings,
|
197
213
|
selector: "#{@selector} >> #{selector}",
|
198
|
-
hasText: hasText,
|
199
214
|
has: has,
|
200
|
-
|
215
|
+
hasNot: hasNot,
|
216
|
+
hasNotText: hasNotText,
|
217
|
+
hasText: hasText)
|
201
218
|
end
|
202
219
|
|
203
220
|
def frame_locator(selector)
|
@@ -216,14 +233,15 @@ module Playwright
|
|
216
233
|
@frame.query_selector_all(@selector)
|
217
234
|
end
|
218
235
|
|
219
|
-
def filter(has: nil, hasText: nil)
|
236
|
+
def filter(has: nil, hasNot: nil, hasNotText: nil, hasText: nil)
|
220
237
|
LocatorImpl.new(
|
221
238
|
frame: @frame,
|
222
239
|
timeout_settings: @timeout_settings,
|
223
240
|
selector: @selector,
|
224
|
-
hasText: hasText,
|
225
241
|
has: has,
|
226
|
-
|
242
|
+
hasNot: hasNot,
|
243
|
+
hasNotText: hasNotText,
|
244
|
+
hasText: hasText)
|
227
245
|
end
|
228
246
|
|
229
247
|
def first
|
@@ -250,6 +268,17 @@ module Playwright
|
|
250
268
|
)
|
251
269
|
end
|
252
270
|
|
271
|
+
def or(locator)
|
272
|
+
unless same_frame?(locator)
|
273
|
+
raise DifferentFrameError.new('locator')
|
274
|
+
end
|
275
|
+
LocatorImpl.new(
|
276
|
+
frame: @frame,
|
277
|
+
timeout_settings: @timeout_settings,
|
278
|
+
selector: "#{@selector} >> internal:or=#{locator.send(:selector_json)}",
|
279
|
+
)
|
280
|
+
end
|
281
|
+
|
253
282
|
def focus(timeout: nil)
|
254
283
|
@frame.focus(@selector, strict: true, timeout: timeout)
|
255
284
|
end
|
data/lib/playwright/version.rb
CHANGED
data/lib/playwright_api/frame.rb
CHANGED
@@ -664,8 +664,13 @@ module Playwright
|
|
664
664
|
# [Learn more about locators](../locators.md).
|
665
665
|
#
|
666
666
|
# [Learn more about locators](../locators.md).
|
667
|
-
def locator(
|
668
|
-
|
667
|
+
def locator(
|
668
|
+
selector,
|
669
|
+
has: nil,
|
670
|
+
hasNot: nil,
|
671
|
+
hasNotText: nil,
|
672
|
+
hasText: nil)
|
673
|
+
wrap_impl(@impl.locator(unwrap_impl(selector), has: unwrap_impl(has), hasNot: unwrap_impl(hasNot), hasNotText: unwrap_impl(hasNotText), hasText: unwrap_impl(hasText)))
|
669
674
|
end
|
670
675
|
|
671
676
|
#
|
@@ -241,8 +241,13 @@ module Playwright
|
|
241
241
|
# The method finds an element matching the specified selector in the locator's subtree. It also accepts filter options, similar to [`method: Locator.filter`] method.
|
242
242
|
#
|
243
243
|
# [Learn more about locators](../locators.md).
|
244
|
-
def locator(
|
245
|
-
|
244
|
+
def locator(
|
245
|
+
selectorOrLocator,
|
246
|
+
has: nil,
|
247
|
+
hasNot: nil,
|
248
|
+
hasNotText: nil,
|
249
|
+
hasText: nil)
|
250
|
+
wrap_impl(@impl.locator(unwrap_impl(selectorOrLocator), has: unwrap_impl(has), hasNot: unwrap_impl(hasNot), hasNotText: unwrap_impl(hasNotText), hasText: unwrap_impl(hasText)))
|
246
251
|
end
|
247
252
|
|
248
253
|
#
|
@@ -10,7 +10,11 @@ module Playwright
|
|
10
10
|
# When locator points to a list of elements, returns array of locators, pointing
|
11
11
|
# to respective elements.
|
12
12
|
#
|
13
|
-
#
|
13
|
+
# **NOTE**: [`method: Locator.all`] does not wait for elements to match the locator, and instead immediately returns whatever is present in the page.
|
14
|
+
#
|
15
|
+
# When the list of elements changes dynamically, [`method: Locator.all`] will produce unpredictable and flaky results.
|
16
|
+
#
|
17
|
+
# When the list of elements is stable, but loaded dynamically, wait for the full list to finish loading before calling [`method: Locator.all`].
|
14
18
|
#
|
15
19
|
# **Usage**
|
16
20
|
#
|
@@ -393,8 +397,8 @@ module Playwright
|
|
393
397
|
# .filter(has=page.get_by_role("button", name="column 2 button"))
|
394
398
|
# .screenshot()
|
395
399
|
# ```
|
396
|
-
def filter(has: nil, hasText: nil)
|
397
|
-
wrap_impl(@impl.filter(has: unwrap_impl(has), hasText: unwrap_impl(hasText)))
|
400
|
+
def filter(has: nil, hasNot: nil, hasNotText: nil, hasText: nil)
|
401
|
+
wrap_impl(@impl.filter(has: unwrap_impl(has), hasNot: unwrap_impl(hasNot), hasNotText: unwrap_impl(hasNotText), hasText: unwrap_impl(hasText)))
|
398
402
|
end
|
399
403
|
|
400
404
|
#
|
@@ -773,8 +777,13 @@ module Playwright
|
|
773
777
|
# The method finds an element matching the specified selector in the locator's subtree. It also accepts filter options, similar to [`method: Locator.filter`] method.
|
774
778
|
#
|
775
779
|
# [Learn more about locators](../locators.md).
|
776
|
-
def locator(
|
777
|
-
|
780
|
+
def locator(
|
781
|
+
selectorOrLocator,
|
782
|
+
has: nil,
|
783
|
+
hasNot: nil,
|
784
|
+
hasNotText: nil,
|
785
|
+
hasText: nil)
|
786
|
+
wrap_impl(@impl.locator(unwrap_impl(selectorOrLocator), has: unwrap_impl(has), hasNot: unwrap_impl(hasNot), hasNotText: unwrap_impl(hasNotText), hasText: unwrap_impl(hasText)))
|
778
787
|
end
|
779
788
|
|
780
789
|
#
|
@@ -789,6 +798,25 @@ module Playwright
|
|
789
798
|
wrap_impl(@impl.nth(unwrap_impl(index)))
|
790
799
|
end
|
791
800
|
|
801
|
+
#
|
802
|
+
# Creates a locator that matches either of the two locators.
|
803
|
+
#
|
804
|
+
# **Usage**
|
805
|
+
#
|
806
|
+
# Consider a scenario where you'd like to click on a "New email" button, but sometimes a security settings dialog shows up instead. In this case, you can wait for either a "New email" button, or a dialog and act accordingly.
|
807
|
+
#
|
808
|
+
# ```python sync
|
809
|
+
# new_email = page.get_by_role("button", name="New")
|
810
|
+
# dialog = page.get_by_text("Confirm security settings")
|
811
|
+
# expect(new_email.or_(dialog)).to_be_visible()
|
812
|
+
# if (dialog.is_visible())
|
813
|
+
# page.get_by_role("button", name="Dismiss").click()
|
814
|
+
# new_email.click()
|
815
|
+
# ```
|
816
|
+
def or(locator)
|
817
|
+
wrap_impl(@impl.or(unwrap_impl(locator)))
|
818
|
+
end
|
819
|
+
|
792
820
|
#
|
793
821
|
# A page this locator belongs to.
|
794
822
|
def page
|
data/lib/playwright_api/page.rb
CHANGED
@@ -916,8 +916,13 @@ module Playwright
|
|
916
916
|
# Locator is resolved to the element immediately before performing an action, so a series of actions on the same locator can in fact be performed on different DOM elements. That would happen if the DOM structure between those actions has changed.
|
917
917
|
#
|
918
918
|
# [Learn more about locators](../locators.md).
|
919
|
-
def locator(
|
920
|
-
|
919
|
+
def locator(
|
920
|
+
selector,
|
921
|
+
has: nil,
|
922
|
+
hasNot: nil,
|
923
|
+
hasNotText: nil,
|
924
|
+
hasText: nil)
|
925
|
+
wrap_impl(@impl.locator(unwrap_impl(selector), has: unwrap_impl(has), hasNot: unwrap_impl(hasNot), hasNotText: unwrap_impl(hasNotText), hasText: unwrap_impl(hasText)))
|
921
926
|
end
|
922
927
|
|
923
928
|
#
|
@@ -1667,6 +1672,11 @@ module Playwright
|
|
1667
1672
|
raise NotImplementedError.new('wait_for_event is not implemented yet.')
|
1668
1673
|
end
|
1669
1674
|
|
1675
|
+
# @nodoc
|
1676
|
+
def stop_css_coverage
|
1677
|
+
wrap_impl(@impl.stop_css_coverage)
|
1678
|
+
end
|
1679
|
+
|
1670
1680
|
# @nodoc
|
1671
1681
|
def owned_context=(req)
|
1672
1682
|
wrap_impl(@impl.owned_context=(unwrap_impl(req)))
|
@@ -1692,11 +1702,6 @@ module Playwright
|
|
1692
1702
|
wrap_impl(@impl.start_css_coverage(resetOnNavigation: unwrap_impl(resetOnNavigation), reportAnonymousScripts: unwrap_impl(reportAnonymousScripts)))
|
1693
1703
|
end
|
1694
1704
|
|
1695
|
-
# @nodoc
|
1696
|
-
def stop_css_coverage
|
1697
|
-
wrap_impl(@impl.stop_css_coverage)
|
1698
|
-
end
|
1699
|
-
|
1700
1705
|
# -- inherited from EventEmitter --
|
1701
1706
|
# @nodoc
|
1702
1707
|
def off(event, callback)
|
data/lib/playwright_api/route.rb
CHANGED
@@ -119,8 +119,9 @@ module Playwright
|
|
119
119
|
maxRedirects: nil,
|
120
120
|
method: nil,
|
121
121
|
postData: nil,
|
122
|
+
timeout: nil,
|
122
123
|
url: nil)
|
123
|
-
wrap_impl(@impl.fetch(headers: unwrap_impl(headers), maxRedirects: unwrap_impl(maxRedirects), method: unwrap_impl(method), postData: unwrap_impl(postData), url: unwrap_impl(url)))
|
124
|
+
wrap_impl(@impl.fetch(headers: unwrap_impl(headers), maxRedirects: unwrap_impl(maxRedirects), method: unwrap_impl(method), postData: unwrap_impl(postData), timeout: unwrap_impl(timeout), url: unwrap_impl(url)))
|
124
125
|
end
|
125
126
|
|
126
127
|
#
|
data/sig/playwright.rbs
CHANGED
@@ -47,7 +47,7 @@ module Playwright
|
|
47
47
|
def abort: (?errorCode: String) -> void
|
48
48
|
def continue: (?headers: Hash[untyped, untyped], ?method: String, ?postData: (String | String | untyped), ?url: String) -> void
|
49
49
|
def fallback: (?headers: Hash[untyped, untyped], ?method: String, ?postData: (String | String | untyped), ?url: String) -> void
|
50
|
-
def fetch: (?headers: Hash[untyped, untyped], ?maxRedirects: Integer, ?method: String, ?postData: (String | String | untyped), ?url: String) -> APIResponse
|
50
|
+
def fetch: (?headers: Hash[untyped, untyped], ?maxRedirects: Integer, ?method: String, ?postData: (String | String | untyped), ?timeout: Float, ?url: String) -> APIResponse
|
51
51
|
def fulfill: (?body: (String | String), ?contentType: String, ?headers: Hash[untyped, untyped], ?json: untyped, ?path: (String | File), ?response: APIResponse, ?status: Integer) -> void
|
52
52
|
def request: -> Request
|
53
53
|
end
|
@@ -184,7 +184,7 @@ module Playwright
|
|
184
184
|
def enabled?: (String selector, ?strict: bool, ?timeout: Float) -> bool
|
185
185
|
def hidden?: (String selector, ?strict: bool, ?timeout: Float) -> bool
|
186
186
|
def visible?: (String selector, ?strict: bool, ?timeout: Float) -> bool
|
187
|
-
def locator: (String selector, ?has: Locator, ?hasText: (String | Regexp)) -> Locator
|
187
|
+
def locator: (String selector, ?has: Locator, ?hasNot: Locator, ?hasNotText: (String | Regexp), ?hasText: (String | Regexp)) -> Locator
|
188
188
|
def name: -> String
|
189
189
|
def page: -> Page
|
190
190
|
def parent_frame: -> (nil | Frame)
|
@@ -293,7 +293,7 @@ module Playwright
|
|
293
293
|
def enabled?: (String selector, ?strict: bool, ?timeout: Float) -> bool
|
294
294
|
def hidden?: (String selector, ?strict: bool, ?timeout: Float) -> bool
|
295
295
|
def visible?: (String selector, ?strict: bool, ?timeout: Float) -> bool
|
296
|
-
def locator: (String selector, ?has: Locator, ?hasText: (String | Regexp)) -> Locator
|
296
|
+
def locator: (String selector, ?has: Locator, ?hasNot: Locator, ?hasNotText: (String | Regexp), ?hasText: (String | Regexp)) -> Locator
|
297
297
|
def main_frame: -> Frame
|
298
298
|
def opener: -> (nil | Page)
|
299
299
|
def pause: -> void
|
@@ -449,7 +449,7 @@ module Playwright
|
|
449
449
|
def evaluate_all: (String expression, ?arg: untyped) -> untyped
|
450
450
|
def evaluate_handle: (String expression, ?arg: untyped, ?timeout: Float) -> JSHandle
|
451
451
|
def fill: (String value, ?force: bool, ?noWaitAfter: bool, ?timeout: Float) -> void
|
452
|
-
def filter: (?has: Locator, ?hasText: (String | Regexp)) -> Locator
|
452
|
+
def filter: (?has: Locator, ?hasNot: Locator, ?hasNotText: (String | Regexp), ?hasText: (String | Regexp)) -> Locator
|
453
453
|
def first: -> Locator
|
454
454
|
def focus: (?timeout: Float) -> void
|
455
455
|
def frame_locator: (String selector) -> FrameLocator
|
@@ -474,8 +474,9 @@ module Playwright
|
|
474
474
|
def hidden?: (?timeout: Float) -> bool
|
475
475
|
def visible?: (?timeout: Float) -> bool
|
476
476
|
def last: -> Locator
|
477
|
-
def locator: ((String | Locator) selectorOrLocator, ?has: Locator, ?hasText: (String | Regexp)) -> Locator
|
477
|
+
def locator: ((String | Locator) selectorOrLocator, ?has: Locator, ?hasNot: Locator, ?hasNotText: (String | Regexp), ?hasText: (String | Regexp)) -> Locator
|
478
478
|
def nth: (Integer index) -> Locator
|
479
|
+
def or: (Locator locator) -> Locator
|
479
480
|
def page: -> Page
|
480
481
|
def press: (String key, ?delay: Float, ?noWaitAfter: bool, ?timeout: Float) -> void
|
481
482
|
def screenshot: (?animations: ("disabled" | "allow"), ?caret: ("hide" | "initial"), ?mask: Array[untyped], ?omitBackground: bool, ?path: (String | File), ?quality: Integer, ?scale: ("css" | "device"), ?timeout: Float, ?type: ("png" | "jpeg")) -> String
|
@@ -504,7 +505,7 @@ module Playwright
|
|
504
505
|
def get_by_text: ((String | Regexp) text, ?exact: bool) -> Locator
|
505
506
|
def get_by_title: ((String | Regexp) text, ?exact: bool) -> Locator
|
506
507
|
def last: -> FrameLocator
|
507
|
-
def locator: ((String | Locator) selectorOrLocator, ?has: Locator, ?hasText: (String | Regexp)) -> Locator
|
508
|
+
def locator: ((String | Locator) selectorOrLocator, ?has: Locator, ?hasNot: Locator, ?hasNotText: (String | Regexp), ?hasText: (String | Regexp)) -> Locator
|
508
509
|
def nth: (Integer index) -> FrameLocator
|
509
510
|
end
|
510
511
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: playwright-ruby-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.33.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- YusukeIwaki
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-04-
|
11
|
+
date: 2023-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|
@@ -401,5 +401,5 @@ requirements: []
|
|
401
401
|
rubygems_version: 3.3.26
|
402
402
|
signing_key:
|
403
403
|
specification_version: 4
|
404
|
-
summary: The Ruby binding of playwright driver 1.
|
404
|
+
summary: The Ruby binding of playwright driver 1.33.0
|
405
405
|
test_files: []
|