playwright-ruby-client 1.34.0 → 1.36.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 64c373804c3cc418f35774036436563714c4e7a42ce87d9ce242d961814c28f9
4
- data.tar.gz: 3dccf880e4d4911279bbac84575f03872284c379fdcac468fa4e16940b51c352
3
+ metadata.gz: 853f54317712f2c9fbe41a64c07091aa11c553718f57ecc78394f9426dbe5412
4
+ data.tar.gz: 932e51fd6b3b7890ff5684226cdeca4fe2b55f525b646779745f6cae62a6a4b5
5
5
  SHA512:
6
- metadata.gz: e911b7eac54e773e83c18efcc13562500e736b75fc259da2f63abed7bc31b716d86b568215c410245fd613a379a3c0fdb63a3a9d942b33042eaf14019829474b
7
- data.tar.gz: 47ce8a3dd0a37c79c4786f3d1b34ce99009ee3a572b1d88345d3ae6da767c81cc4f6f0bb9e14c93292dfe4e007f229dd37861a1e358544f787f1aa463792b1f0
6
+ metadata.gz: '049a0b12e42905c291451b21d64ffc3235dfdc0c531ad46016497ee52432c9433b97ac6fe4e3c51e23228a713d4c6add3d58cfe0c9373b9d5657f07a75c11441'
7
+ data.tar.gz: b6e9030498986b5f31417f2c15a8090f459f391d8cd288a60fa600ec087da32316eafa1e25ced20ae20ab62bc87806d4525ca6d950646b6780497982a0922527
@@ -450,6 +450,7 @@ def screenshot(
450
450
  animations: nil,
451
451
  caret: nil,
452
452
  mask: nil,
453
+ maskColor: nil,
453
454
  omitBackground: nil,
454
455
  path: nil,
455
456
  quality: nil,
@@ -1040,6 +1040,7 @@ def screenshot(
1040
1040
  animations: nil,
1041
1041
  caret: nil,
1042
1042
  mask: nil,
1043
+ maskColor: nil,
1043
1044
  omitBackground: nil,
1044
1045
  path: nil,
1045
1046
  quality: nil,
@@ -1286,6 +1286,7 @@ def screenshot(
1286
1286
  clip: nil,
1287
1287
  fullPage: nil,
1288
1288
  mask: nil,
1289
+ maskColor: nil,
1289
1290
  omitBackground: nil,
1290
1291
  path: nil,
1291
1292
  quality: nil,
@@ -1740,7 +1741,7 @@ Waits for the matching request and returns it. See [waiting for event](https://p
1740
1741
  ```ruby
1741
1742
  page.content = '<form action="https://example.com/resource"><input type="submit" value="trigger request" /></form>'
1742
1743
  request = page.expect_request(/example.com\/resource/) do
1743
- page.get_by_text("trigger request").click()
1744
+ page.get_by_text("trigger request").click
1744
1745
  end
1745
1746
  puts request.headers
1746
1747
 
@@ -1749,7 +1750,7 @@ page.wait_for_load_state # wait for request finished.
1749
1750
  # or with a predicate
1750
1751
  page.content = '<form action="https://example.com/resource"><input type="submit" value="trigger request" /></form>'
1751
1752
  request = page.expect_request(->(req) { req.url.start_with? 'https://example.com/resource' }) do
1752
- page.get_by_text("trigger request").click()
1753
+ page.get_by_text("trigger request").click
1753
1754
  end
1754
1755
  puts request.headers
1755
1756
  ```
@@ -1779,7 +1780,7 @@ Returns the matched response. See [waiting for event](https://playwright.dev/pyt
1779
1780
  ```ruby
1780
1781
  page.content = '<form action="https://example.com/resource"><input type="submit" value="trigger response" /></form>'
1781
1782
  response = page.expect_response(/example.com\/resource/) do
1782
- page.get_by_text("trigger response").click()
1783
+ page.get_by_text("trigger response").click
1783
1784
  end
1784
1785
  puts response.body
1785
1786
  puts response.ok?
@@ -1789,7 +1790,7 @@ page.wait_for_load_state # wait for request finished.
1789
1790
  # or with a predicate
1790
1791
  page.content = '<form action="https://example.com/resource"><input type="submit" value="trigger response" /></form>'
1791
1792
  response = page.expect_response(->(res) { res.url.start_with? 'https://example.com/resource' }) do
1792
- page.get_by_text("trigger response").click()
1793
+ page.get_by_text("trigger response").click
1793
1794
  end
1794
1795
  puts response.body
1795
1796
  puts response.ok?
@@ -38,7 +38,7 @@ JAVASCRIPT
38
38
  # Register the engine. Selectors will be prefixed with "tag=".
39
39
  playwright.selectors.register("tag", script: tag_selector)
40
40
  playwright.chromium.launch do |browser|
41
- page = browser.new_page()
41
+ page = browser.new_page
42
42
  page.content = '<div><button>Click me</button></div>'
43
43
 
44
44
  # Use the selector prefixed with its name.
@@ -14,14 +14,14 @@ This all-in-one architecture is reasonable for browser automation in our own com
14
14
 
15
15
  However we may have trouble with bringing Playwright into:
16
16
 
17
- * Docker
18
- * Alpine Linux
19
- * Serverless computing
20
- * AWS Lambda
21
- * Google Cloud Functions
22
- * PaaS
23
- * Heroku
24
- * Google App Engine
17
+ - Docker
18
+ - Alpine Linux
19
+ - Serverless computing
20
+ - AWS Lambda
21
+ - Google Cloud Functions
22
+ - PaaS
23
+ - Heroku
24
+ - Google App Engine
25
25
 
26
26
  This article introduces a way to separate environments into client (for executing Playwright script) and server (for working with browsers). The main use-case assumes Docker (using Alpine Linux), however the way can be applied also into other use-cases.
27
27
 
@@ -39,16 +39,22 @@ Playwright provides two kind of methods to share the browser environments for cl
39
39
 
40
40
  When you want to share only one browser environment, Browser server is suitable. This feature is officially supported in Playwright.
41
41
 
42
- * Server can be launched with [BrowserType#launchServer](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-server) instead of `BrowserType#launch`.
43
- * Client can connect to server with [BrowserType#connect](https://playwright.dev/docs/api/class-browsertype#browser-type-connect). In playwright-ruby-client, `BrowserType#connect` and not implemented yet and use `Playwright#connect_to_browser_server()` instead.
42
+ - Server can be launched with [BrowserType#launchServer](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-server) instead of `BrowserType#launch`.
43
+ - Client can connect to server with [BrowserType#connect](https://playwright.dev/docs/api/class-browsertype#browser-type-connect). In playwright-ruby-client, `BrowserType#connect` and not implemented yet and use `Playwright#connect_to_browser_server()` instead.
44
44
 
45
45
  Another method is sharing all browser environment. This method is very simple, but not an official feature, and can be changed in future.
46
46
 
47
- * Server can be launched with `playwright run-server` (CLI command).
48
- * Client can connect to server with `Playwright.connect_to_playwright_server` instead of `Playwright.create`
47
+ - Server can be launched with `playwright run-server` (CLI command).
48
+ - Client can connect to server with `Playwright.connect_to_playwright_server` instead of `Playwright.create`
49
49
 
50
50
  ## Playwright server/client
51
51
 
52
+ :::caution
53
+
54
+ This method is no longer supported on Playwright driver >= 1.35. See [this issue](https://github.com/YusukeIwaki/playwright-ruby-client/issues/254) for detail, and use Browser server/client method instead.
55
+
56
+ :::
57
+
52
58
  ### Client code
53
59
 
54
60
  Many example uses `Playwright#create`, which internally uses Pipe (stdin/stdout) transport for Playwright-protocol messaging. Instead, **just use `Playwright#connect_to_playwright_server(endpoint)`** for WebSocket transport.
@@ -74,10 +80,10 @@ With the [official Docker image](https://hub.docker.com/_/microsoft-playwright)
74
80
  If custom Docker image is preferred, build it as follows:
75
81
 
76
82
  ```Dockerfile
77
- FROM mcr.microsoft.com/playwright:focal
83
+ FROM mcr.microsoft.com/playwright
78
84
 
79
85
  WORKDIR /root
80
- RUN npm install playwright@1.12.3 && ./node_modules/.bin/playwright install
86
+ RUN npm install playwright && ./node_modules/.bin/playwright install
81
87
 
82
88
  ENV PORT 8888
83
89
  CMD ["./node_modules/.bin/playwright", "run-server", "--port", "$PORT", "--path", "/ws"]
@@ -105,15 +111,17 @@ For instant use, `npx playwright launch-server --browser chromium` generates a W
105
111
  More customization can be done by implementing JavaScript server like below:
106
112
 
107
113
  ```js
108
- const playwright = require('playwright')
114
+ const playwright = require("playwright");
109
115
 
110
116
  option = {
111
- channel: 'chrome-canary',
117
+ channel: "chrome-canary",
112
118
  headless: false,
113
119
  port: 8080,
114
- wsPath: 'ws',
115
- }
116
- playwright.chromium.launchServer(option).then((server) => { console.log(server.wsEndpoint()) })
120
+ wsPath: "ws",
121
+ };
122
+ playwright.chromium.launchServer(option).then((server) => {
123
+ console.log(server.wsEndpoint());
124
+ });
117
125
  ```
118
126
 
119
127
  `port` and `wsPath` would be useful for generating static WebSocket endpoint URL.
@@ -132,13 +140,12 @@ Just set an environment variable `DEBUG=1`.
132
140
  DEBUG=1 bundle exec ruby some-automation-with-playwright.rb
133
141
  ```
134
142
 
135
-
136
143
  ### Enable verbose logging on server
137
144
 
138
145
  Just set an environment variable `DEBUG=pw:*` or `DEBUG=pw:server`
139
146
 
140
147
  ```
141
- DEBUG=pw:* npx playwright run-server --port 8888 --path /ws
148
+ DEBUG=pw:* npx playwright launch-server --browser chromium
142
149
  ```
143
150
 
144
151
  See [the official documentation](https://playwright.dev/docs/debug/#verbose-api-logs) for details.
@@ -121,7 +121,7 @@ module Playwright
121
121
  end
122
122
 
123
123
  unless handled
124
- route.send(:async_continue_route).rescue do |err|
124
+ route.send(:async_continue_route, internal: true).rescue do |err|
125
125
  puts err, err.backtrace
126
126
  end
127
127
  end
@@ -296,6 +296,7 @@ module Playwright
296
296
  animations: nil,
297
297
  caret: nil,
298
298
  mask: nil,
299
+ maskColor: nil,
299
300
  omitBackground: nil,
300
301
  path: nil,
301
302
  quality: nil,
@@ -306,6 +307,7 @@ module Playwright
306
307
  params = {
307
308
  animations: animations,
308
309
  caret: caret,
310
+ maskColor: maskColor,
309
311
  omitBackground: omitBackground,
310
312
  path: path,
311
313
  quality: quality,
@@ -438,6 +438,7 @@ module Playwright
438
438
  clip: nil,
439
439
  fullPage: nil,
440
440
  mask: nil,
441
+ maskColor: nil,
441
442
  omitBackground: nil,
442
443
  path: nil,
443
444
  quality: nil,
@@ -450,6 +451,7 @@ module Playwright
450
451
  quality: quality,
451
452
  fullPage: fullPage,
452
453
  clip: clip,
454
+ maskColor: maskColor,
453
455
  omitBackground: omitBackground,
454
456
  animations: animations,
455
457
  caret: caret,
@@ -484,7 +486,7 @@ module Playwright
484
486
  end
485
487
  nil
486
488
  rescue => err
487
- raise unless safe_close_error?(err)
489
+ raise if !safe_close_error?(err) || !runBeforeUnload
488
490
  end
489
491
 
490
492
  def closed?
@@ -35,7 +35,6 @@ module Playwright
35
35
  unless @initializer['preLaunchedBrowser']
36
36
  raise 'Malformed endpoint. Did you use launchServer method?'
37
37
  end
38
-
39
38
  ::Playwright::ChannelOwners::Browser.from(@initializer['preLaunchedBrowser'])
40
39
  end
41
40
 
@@ -137,7 +137,7 @@ module Playwright
137
137
  end
138
138
  end
139
139
 
140
- private def async_continue_route
140
+ private def async_continue_route(internal: false)
141
141
  post_data_for_wire =
142
142
  if (post_data_from_overrides = request.send(:fallback_overrides)[:postData])
143
143
  post_data_for_wire = Base64.strict_encode64(post_data_from_overrides)
@@ -155,6 +155,7 @@ module Playwright
155
155
  params[:postData] = post_data_for_wire
156
156
  end
157
157
  params[:requestUrl] = request.send(:internal_url)
158
+ params[:isFallback] = internal
158
159
 
159
160
  # TODO _race_with_page_close
160
161
  @channel.async_send_message_to_server('continue', params)
@@ -52,6 +52,10 @@ module Playwright
52
52
  return URI(hash['u'])
53
53
  end
54
54
 
55
+ if hash.key?('bi')
56
+ return hash['bi'].to_i
57
+ end
58
+
55
59
  if hash.key?('r')
56
60
  # @see https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/RegExp
57
61
  # @see https://docs.ruby-lang.org/ja/latest/class/Regexp.html
@@ -34,7 +34,11 @@ module Playwright
34
34
  when true, false
35
35
  { b: value }
36
36
  when Numeric
37
- { n: value }
37
+ if !value.is_a?(Integer) || (-9007199254740992..9007199254740991).include?(value)
38
+ { n: value }
39
+ else
40
+ { bi: value.to_s }
41
+ end
38
42
  when String
39
43
  { s: value }
40
44
  when Time
@@ -362,6 +362,7 @@ module Playwright
362
362
  animations: nil,
363
363
  caret: nil,
364
364
  mask: nil,
365
+ maskColor: nil,
365
366
  omitBackground: nil,
366
367
  path: nil,
367
368
  quality: nil,
@@ -374,6 +375,7 @@ module Playwright
374
375
  animations: animations,
375
376
  caret: caret,
376
377
  mask: mask,
378
+ maskColor: maskColor,
377
379
  omitBackground: omitBackground,
378
380
  path: path,
379
381
  quality: quality,
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playwright
4
- VERSION = '1.34.0'
5
- COMPATIBLE_PLAYWRIGHT_VERSION = '1.34.3'
4
+ VERSION = '1.36.0'
5
+ COMPATIBLE_PLAYWRIGHT_VERSION = '1.36.1'
6
6
  end
data/lib/playwright.rb CHANGED
@@ -159,8 +159,9 @@ module Playwright
159
159
  begin
160
160
  playwright = connection.initialize_playwright
161
161
  browser = playwright.send(:pre_launched_browser)
162
+ browser.send(:update_browser_type, playwright.chromium) # Just workaround for nil reference error.
162
163
  browser.browser_type.send(:did_launch_browser, browser)
163
- browser.should_close_connection_on_close!
164
+ browser.send(:should_close_connection_on_close!)
164
165
  Execution.new(connection, PlaywrightApi.wrap(playwright), PlaywrightApi.wrap(browser))
165
166
  rescue
166
167
  connection.stop
@@ -35,11 +35,11 @@ module Playwright
35
35
  #
36
36
  # ```python sync
37
37
  # def find_focused_node(node):
38
- # if (node.get("focused"))
38
+ # if node.get("focused"):
39
39
  # return node
40
40
  # for child in (node.get("children") or []):
41
41
  # found_node = find_focused_node(child)
42
- # if (found_node)
42
+ # if found_node:
43
43
  # return found_node
44
44
  # return None
45
45
  #
@@ -281,9 +281,9 @@ module Playwright
281
281
  #
282
282
  # ```python sync
283
283
  # def handle_route(route):
284
- # if ("my-string" in route.request.post_data)
284
+ # if ("my-string" in route.request.post_data):
285
285
  # route.fulfill(body="mocked-data")
286
- # else
286
+ # else:
287
287
  # route.continue_()
288
288
  # context.route("/api/**", handle_route)
289
289
  # ```
@@ -187,7 +187,7 @@ module Playwright
187
187
  # ```python sync
188
188
  # tweet_handle = page.query_selector(".tweet")
189
189
  # assert tweet_handle.eval_on_selector(".like", "node => node.innerText") == "100"
190
- # assert tweet_handle.eval_on_selector(".retweets", "node => node.innerText") = "10"
190
+ # assert tweet_handle.eval_on_selector(".retweets", "node => node.innerText") == "10"
191
191
  # ```
192
192
  def eval_on_selector(selector, expression, arg: nil)
193
193
  wrap_impl(@impl.eval_on_selector(unwrap_impl(selector), unwrap_impl(expression), arg: unwrap_impl(arg)))
@@ -374,13 +374,14 @@ module Playwright
374
374
  animations: nil,
375
375
  caret: nil,
376
376
  mask: nil,
377
+ maskColor: nil,
377
378
  omitBackground: nil,
378
379
  path: nil,
379
380
  quality: nil,
380
381
  scale: nil,
381
382
  timeout: nil,
382
383
  type: nil)
383
- wrap_impl(@impl.screenshot(animations: unwrap_impl(animations), caret: unwrap_impl(caret), mask: unwrap_impl(mask), omitBackground: unwrap_impl(omitBackground), path: unwrap_impl(path), quality: unwrap_impl(quality), scale: unwrap_impl(scale), timeout: unwrap_impl(timeout), type: unwrap_impl(type)))
384
+ wrap_impl(@impl.screenshot(animations: unwrap_impl(animations), caret: unwrap_impl(caret), mask: unwrap_impl(mask), maskColor: unwrap_impl(maskColor), omitBackground: unwrap_impl(omitBackground), path: unwrap_impl(path), quality: unwrap_impl(quality), scale: unwrap_impl(scale), timeout: unwrap_impl(timeout), type: unwrap_impl(type)))
384
385
  end
385
386
 
386
387
  #
@@ -1038,13 +1038,13 @@ module Playwright
1038
1038
  end
1039
1039
 
1040
1040
  # @nodoc
1041
- def highlight(selector)
1042
- wrap_impl(@impl.highlight(unwrap_impl(selector)))
1041
+ def detached=(req)
1042
+ wrap_impl(@impl.detached=(unwrap_impl(req)))
1043
1043
  end
1044
1044
 
1045
1045
  # @nodoc
1046
- def detached=(req)
1047
- wrap_impl(@impl.detached=(unwrap_impl(req)))
1046
+ def highlight(selector)
1047
+ wrap_impl(@impl.highlight(unwrap_impl(selector)))
1048
1048
  end
1049
1049
 
1050
1050
  # -- inherited from EventEmitter --
@@ -67,7 +67,7 @@ module Playwright
67
67
  # **Usage**
68
68
  #
69
69
  # ```python sync
70
- # handle = page.evaluate_handle("({window, document})")
70
+ # handle = page.evaluate_handle("({ window, document })")
71
71
  # properties = handle.get_properties()
72
72
  # window_handle = properties.get("window")
73
73
  # document_handle = properties.get("document")
@@ -406,10 +406,9 @@ module Playwright
406
406
  # ```python sync
407
407
  # row_locator = page.locator("tr")
408
408
  # # ...
409
- # row_locator
410
- # .filter(has_text="text in column 1")
411
- # .filter(has=page.get_by_role("button", name="column 2 button"))
412
- # .screenshot()
409
+ # row_locator.filter(has_text="text in column 1").filter(
410
+ # has=page.get_by_role("button", name="column 2 button")
411
+ # ).screenshot()
413
412
  # ```
414
413
  def filter(has: nil, hasNot: nil, hasNotText: nil, hasText: nil)
415
414
  wrap_impl(@impl.filter(has: unwrap_impl(has), hasNot: unwrap_impl(hasNot), hasNotText: unwrap_impl(hasNotText), hasText: unwrap_impl(hasText)))
@@ -781,7 +780,7 @@ module Playwright
781
780
  # **Usage**
782
781
  #
783
782
  # ```python sync
784
- # banana = page.get_by_role("listitem").last()
783
+ # banana = page.get_by_role("listitem").last
785
784
  # ```
786
785
  def last
787
786
  wrap_impl(@impl.last)
@@ -823,7 +822,7 @@ module Playwright
823
822
  # new_email = page.get_by_role("button", name="New")
824
823
  # dialog = page.get_by_text("Confirm security settings")
825
824
  # expect(new_email.or_(dialog)).to_be_visible()
826
- # if (dialog.is_visible())
825
+ # if (dialog.is_visible()):
827
826
  # page.get_by_role("button", name="Dismiss").click()
828
827
  # new_email.click()
829
828
  # ```
@@ -898,13 +897,14 @@ module Playwright
898
897
  animations: nil,
899
898
  caret: nil,
900
899
  mask: nil,
900
+ maskColor: nil,
901
901
  omitBackground: nil,
902
902
  path: nil,
903
903
  quality: nil,
904
904
  scale: nil,
905
905
  timeout: nil,
906
906
  type: nil)
907
- wrap_impl(@impl.screenshot(animations: unwrap_impl(animations), caret: unwrap_impl(caret), mask: unwrap_impl(mask), omitBackground: unwrap_impl(omitBackground), path: unwrap_impl(path), quality: unwrap_impl(quality), scale: unwrap_impl(scale), timeout: unwrap_impl(timeout), type: unwrap_impl(type)))
907
+ wrap_impl(@impl.screenshot(animations: unwrap_impl(animations), caret: unwrap_impl(caret), mask: unwrap_impl(mask), maskColor: unwrap_impl(maskColor), omitBackground: unwrap_impl(omitBackground), path: unwrap_impl(path), quality: unwrap_impl(quality), scale: unwrap_impl(scale), timeout: unwrap_impl(timeout), type: unwrap_impl(type)))
908
908
  end
909
909
 
910
910
  #
@@ -1115,9 +1115,9 @@ module Playwright
1115
1115
  #
1116
1116
  # ```python sync
1117
1117
  # def handle_route(route):
1118
- # if ("my-string" in route.request.post_data)
1118
+ # if ("my-string" in route.request.post_data):
1119
1119
  # route.fulfill(body="mocked-data")
1120
- # else
1120
+ # else:
1121
1121
  # route.continue_()
1122
1122
  # page.route("/api/**", handle_route)
1123
1123
  # ```
@@ -1154,13 +1154,14 @@ module Playwright
1154
1154
  clip: nil,
1155
1155
  fullPage: nil,
1156
1156
  mask: nil,
1157
+ maskColor: nil,
1157
1158
  omitBackground: nil,
1158
1159
  path: nil,
1159
1160
  quality: nil,
1160
1161
  scale: nil,
1161
1162
  timeout: nil,
1162
1163
  type: nil)
1163
- wrap_impl(@impl.screenshot(animations: unwrap_impl(animations), caret: unwrap_impl(caret), clip: unwrap_impl(clip), fullPage: unwrap_impl(fullPage), mask: unwrap_impl(mask), omitBackground: unwrap_impl(omitBackground), path: unwrap_impl(path), quality: unwrap_impl(quality), scale: unwrap_impl(scale), timeout: unwrap_impl(timeout), type: unwrap_impl(type)))
1164
+ wrap_impl(@impl.screenshot(animations: unwrap_impl(animations), caret: unwrap_impl(caret), clip: unwrap_impl(clip), fullPage: unwrap_impl(fullPage), mask: unwrap_impl(mask), maskColor: unwrap_impl(maskColor), omitBackground: unwrap_impl(omitBackground), path: unwrap_impl(path), quality: unwrap_impl(quality), scale: unwrap_impl(scale), timeout: unwrap_impl(timeout), type: unwrap_impl(type)))
1164
1165
  end
1165
1166
 
1166
1167
  #
@@ -77,17 +77,17 @@ module Playwright
77
77
  # Terminates this instance of Playwright in case it was created bypassing the Python context manager. This is useful in REPL applications.
78
78
  #
79
79
  # ```py
80
- # >>> from playwright.sync_api import sync_playwright
80
+ # from playwright.sync_api import sync_playwright
81
81
  #
82
- # >>> playwright = sync_playwright().start()
82
+ # playwright = sync_playwright().start()
83
83
  #
84
- # >>> browser = playwright.chromium.launch()
85
- # >>> page = browser.new_page()
86
- # >>> page.goto("http://whatsmyuseragent.org/")
87
- # >>> page.screenshot(path="example.png")
88
- # >>> browser.close()
84
+ # browser = playwright.chromium.launch()
85
+ # page = browser.new_page()
86
+ # page.goto("https://playwright.dev/")
87
+ # page.screenshot(path="example.png")
88
+ # browser.close()
89
89
  #
90
- # >>> playwright.stop()
90
+ # playwright.stop()
91
91
  # ```
92
92
  def stop
93
93
  raise NotImplementedError.new('stop is not implemented yet.')
@@ -118,13 +118,13 @@ module Playwright
118
118
  end
119
119
 
120
120
  # @nodoc
121
- def ok?
122
- wrap_impl(@impl.ok?)
121
+ def from_service_worker?
122
+ wrap_impl(@impl.from_service_worker?)
123
123
  end
124
124
 
125
125
  # @nodoc
126
- def from_service_worker?
127
- wrap_impl(@impl.from_service_worker?)
126
+ def ok?
127
+ wrap_impl(@impl.ok?)
128
128
  end
129
129
 
130
130
  # -- inherited from EventEmitter --
@@ -22,7 +22,7 @@ module Playwright
22
22
  # # override headers
23
23
  # headers = {
24
24
  # **request.headers,
25
- # "foo": "foo-value" # set "foo" header
25
+ # "foo": "foo-value", # set "foo" header
26
26
  # "bar": None # remove "bar" header
27
27
  # }
28
28
  # route.continue_(headers=headers)
@@ -84,7 +84,7 @@ module Playwright
84
84
  # # override headers
85
85
  # headers = {
86
86
  # **request.headers,
87
- # "foo": "foo-value" # set "foo" header
87
+ # "foo": "foo-value", # set "foo" header
88
88
  # "bar": None # remove "bar" header
89
89
  # }
90
90
  # route.fallback(headers=headers)
data/sig/playwright.rbs CHANGED
@@ -118,7 +118,7 @@ module Playwright
118
118
  def press: (String key, ?delay: Float, ?noWaitAfter: bool, ?timeout: Float) -> void
119
119
  def query_selector: (String selector) -> (nil | ElementHandle)
120
120
  def query_selector_all: (String selector) -> Array[untyped]
121
- 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
121
+ def screenshot: (?animations: ("disabled" | "allow"), ?caret: ("hide" | "initial"), ?mask: Array[untyped], ?maskColor: String, ?omitBackground: bool, ?path: (String | File), ?quality: Integer, ?scale: ("css" | "device"), ?timeout: Float, ?type: ("png" | "jpeg")) -> String
122
122
  def scroll_into_view_if_needed: (?timeout: Float) -> void
123
123
  def select_option: (?element: (ElementHandle | Array[untyped]), ?index: (Integer | Array[untyped]), ?value: (String | Array[untyped]), ?label: (String | Array[untyped]), ?force: bool, ?noWaitAfter: bool, ?timeout: Float) -> Array[untyped]
124
124
  def select_text: (?force: bool, ?timeout: Float) -> void
@@ -306,7 +306,7 @@ module Playwright
306
306
  def reload: (?timeout: Float, ?waitUntil: ("load" | "domcontentloaded" | "networkidle" | "commit")) -> (nil | Response)
307
307
  def route: ((String | Regexp | function) url, function handler, ?times: Integer) -> void
308
308
  def route_from_har: ((String | File) har, ?notFound: ("abort" | "fallback"), ?update: bool, ?updateContent: ("embed" | "attach"), ?updateMode: ("full" | "minimal"), ?url: (String | Regexp)) -> void
309
- def screenshot: (?animations: ("disabled" | "allow"), ?caret: ("hide" | "initial"), ?clip: Hash[untyped, untyped], ?fullPage: bool, ?mask: Array[untyped], ?omitBackground: bool, ?path: (String | File), ?quality: Integer, ?scale: ("css" | "device"), ?timeout: Float, ?type: ("png" | "jpeg")) -> String
309
+ def screenshot: (?animations: ("disabled" | "allow"), ?caret: ("hide" | "initial"), ?clip: Hash[untyped, untyped], ?fullPage: bool, ?mask: Array[untyped], ?maskColor: String, ?omitBackground: bool, ?path: (String | File), ?quality: Integer, ?scale: ("css" | "device"), ?timeout: Float, ?type: ("png" | "jpeg")) -> String
310
310
  def select_option: (String selector, ?element: (ElementHandle | Array[untyped]), ?index: (Integer | Array[untyped]), ?value: (String | Array[untyped]), ?label: (String | Array[untyped]), ?force: bool, ?noWaitAfter: bool, ?strict: bool, ?timeout: Float) -> Array[untyped]
311
311
  def set_checked: (String selector, bool checked, ?force: bool, ?noWaitAfter: bool, ?position: Hash[untyped, untyped], ?strict: bool, ?timeout: Float, ?trial: bool) -> void
312
312
  def set_content: (String html, ?timeout: Float, ?waitUntil: ("load" | "domcontentloaded" | "networkidle" | "commit")) -> void
@@ -483,7 +483,7 @@ module Playwright
483
483
  def or: (Locator locator) -> Locator
484
484
  def page: -> Page
485
485
  def press: (String key, ?delay: Float, ?noWaitAfter: bool, ?timeout: Float) -> void
486
- 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
486
+ def screenshot: (?animations: ("disabled" | "allow"), ?caret: ("hide" | "initial"), ?mask: Array[untyped], ?maskColor: String, ?omitBackground: bool, ?path: (String | File), ?quality: Integer, ?scale: ("css" | "device"), ?timeout: Float, ?type: ("png" | "jpeg")) -> String
487
487
  def scroll_into_view_if_needed: (?timeout: Float) -> void
488
488
  def select_option: (?element: (ElementHandle | Array[untyped]), ?index: (Integer | Array[untyped]), ?value: (String | Array[untyped]), ?label: (String | Array[untyped]), ?force: bool, ?noWaitAfter: bool, ?timeout: Float) -> Array[untyped]
489
489
  def select_text: (?force: bool, ?timeout: Float) -> void
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.34.0
4
+ version: 1.36.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-05-29 00:00:00.000000000 Z
11
+ date: 2023-07-28 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.34.3
404
+ summary: The Ruby binding of playwright driver 1.36.1
405
405
  test_files: []