playwright-ruby-client 0.7.0 → 0.9.0
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/README.md +26 -0
 - data/documentation/docs/api/browser.md +18 -2
 - data/documentation/docs/api/browser_context.md +10 -0
 - data/documentation/docs/api/browser_type.md +1 -0
 - data/documentation/docs/api/cdp_session.md +41 -1
 - data/documentation/docs/api/download.md +97 -0
 - data/documentation/docs/api/element_handle.md +38 -4
 - data/documentation/docs/api/experimental/android_device.md +1 -0
 - data/documentation/docs/api/frame.md +78 -17
 - data/documentation/docs/api/keyboard.md +11 -20
 - data/documentation/docs/api/locator.md +650 -0
 - data/documentation/docs/api/page.md +107 -19
 - data/documentation/docs/api/response.md +16 -0
 - data/documentation/docs/article/guides/inspector.md +31 -0
 - data/documentation/docs/article/guides/playwright_on_alpine_linux.md +91 -0
 - data/documentation/docs/article/guides/rails_integration.md +1 -1
 - data/documentation/docs/article/guides/semi_automation.md +5 -1
 - data/documentation/docs/include/api_coverage.md +70 -7
 - data/lib/playwright.rb +36 -4
 - data/lib/playwright/channel_owners/artifact.rb +4 -0
 - data/lib/playwright/channel_owners/browser.rb +5 -0
 - data/lib/playwright/channel_owners/browser_context.rb +37 -3
 - data/lib/playwright/channel_owners/cdp_session.rb +19 -0
 - data/lib/playwright/channel_owners/element_handle.rb +11 -4
 - data/lib/playwright/channel_owners/frame.rb +103 -34
 - data/lib/playwright/channel_owners/page.rb +140 -53
 - data/lib/playwright/channel_owners/response.rb +9 -1
 - data/lib/playwright/connection.rb +2 -4
 - data/lib/playwright/{download.rb → download_impl.rb} +5 -1
 - data/lib/playwright/javascript/expression.rb +5 -4
 - data/lib/playwright/locator_impl.rb +314 -0
 - data/lib/playwright/route_handler_entry.rb +3 -2
 - data/lib/playwright/timeout_settings.rb +4 -4
 - data/lib/playwright/transport.rb +0 -1
 - data/lib/playwright/url_matcher.rb +12 -2
 - data/lib/playwright/version.rb +2 -2
 - data/lib/playwright/web_socket_client.rb +164 -0
 - data/lib/playwright/web_socket_transport.rb +104 -0
 - data/lib/playwright_api/android.rb +6 -6
 - data/lib/playwright_api/android_device.rb +10 -9
 - data/lib/playwright_api/browser.rb +17 -11
 - data/lib/playwright_api/browser_context.rb +14 -9
 - data/lib/playwright_api/browser_type.rb +8 -7
 - data/lib/playwright_api/cdp_session.rb +30 -8
 - data/lib/playwright_api/console_message.rb +6 -6
 - data/lib/playwright_api/dialog.rb +6 -6
 - data/lib/playwright_api/download.rb +70 -0
 - data/lib/playwright_api/element_handle.rb +44 -24
 - data/lib/playwright_api/frame.rb +100 -49
 - data/lib/playwright_api/js_handle.rb +6 -6
 - data/lib/playwright_api/locator.rb +509 -0
 - data/lib/playwright_api/page.rb +110 -57
 - data/lib/playwright_api/playwright.rb +6 -6
 - data/lib/playwright_api/request.rb +6 -6
 - data/lib/playwright_api/response.rb +15 -10
 - data/lib/playwright_api/route.rb +6 -6
 - data/lib/playwright_api/selectors.rb +6 -6
 - data/lib/playwright_api/web_socket.rb +6 -6
 - data/lib/playwright_api/worker.rb +6 -6
 - metadata +15 -5
 
| 
         @@ -60,20 +60,20 @@ module Playwright 
     | 
|
| 
       60 
60 
     | 
    
         | 
| 
       61 
61 
     | 
    
         
             
                # -- inherited from EventEmitter --
         
     | 
| 
       62 
62 
     | 
    
         
             
                # @nodoc
         
     | 
| 
       63 
     | 
    
         
            -
                def  
     | 
| 
       64 
     | 
    
         
            -
                  event_emitter_proxy. 
     | 
| 
      
 63 
     | 
    
         
            +
                def once(event, callback)
         
     | 
| 
      
 64 
     | 
    
         
            +
                  event_emitter_proxy.once(event, callback)
         
     | 
| 
       65 
65 
     | 
    
         
             
                end
         
     | 
| 
       66 
66 
     | 
    
         | 
| 
       67 
67 
     | 
    
         
             
                # -- inherited from EventEmitter --
         
     | 
| 
       68 
68 
     | 
    
         
             
                # @nodoc
         
     | 
| 
       69 
     | 
    
         
            -
                def  
     | 
| 
       70 
     | 
    
         
            -
                  event_emitter_proxy. 
     | 
| 
      
 69 
     | 
    
         
            +
                def on(event, callback)
         
     | 
| 
      
 70 
     | 
    
         
            +
                  event_emitter_proxy.on(event, callback)
         
     | 
| 
       71 
71 
     | 
    
         
             
                end
         
     | 
| 
       72 
72 
     | 
    
         | 
| 
       73 
73 
     | 
    
         
             
                # -- inherited from EventEmitter --
         
     | 
| 
       74 
74 
     | 
    
         
             
                # @nodoc
         
     | 
| 
       75 
     | 
    
         
            -
                def  
     | 
| 
       76 
     | 
    
         
            -
                  event_emitter_proxy. 
     | 
| 
      
 75 
     | 
    
         
            +
                def off(event, callback)
         
     | 
| 
      
 76 
     | 
    
         
            +
                  event_emitter_proxy.off(event, callback)
         
     | 
| 
       77 
77 
     | 
    
         
             
                end
         
     | 
| 
       78 
78 
     | 
    
         | 
| 
       79 
79 
     | 
    
         
             
                private def event_emitter_proxy
         
     | 
| 
         @@ -0,0 +1,70 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Playwright
         
     | 
| 
      
 2 
     | 
    
         
            +
              # `Download` objects are dispatched by page via the [`event: Page.download`] event.
         
     | 
| 
      
 3 
     | 
    
         
            +
              #
         
     | 
| 
      
 4 
     | 
    
         
            +
              # All the downloaded files belonging to the browser context are deleted when the browser context is closed.
         
     | 
| 
      
 5 
     | 
    
         
            +
              #
         
     | 
| 
      
 6 
     | 
    
         
            +
              # Download event is emitted once the download starts. Download path becomes available once download completes:
         
     | 
| 
      
 7 
     | 
    
         
            +
              #
         
     | 
| 
      
 8 
     | 
    
         
            +
              # ```python sync
         
     | 
| 
      
 9 
     | 
    
         
            +
              # with page.expect_download() as download_info:
         
     | 
| 
      
 10 
     | 
    
         
            +
              #     page.click("a")
         
     | 
| 
      
 11 
     | 
    
         
            +
              # download = download_info.value
         
     | 
| 
      
 12 
     | 
    
         
            +
              # # wait for download to complete
         
     | 
| 
      
 13 
     | 
    
         
            +
              # path = download.path()
         
     | 
| 
      
 14 
     | 
    
         
            +
              # ```
         
     | 
| 
      
 15 
     | 
    
         
            +
              #
         
     | 
| 
      
 16 
     | 
    
         
            +
              # > NOTE: Browser context **must** be created with the `acceptDownloads` set to `true` when user needs access to the
         
     | 
| 
      
 17 
     | 
    
         
            +
              # downloaded content. If `acceptDownloads` is not set, download events are emitted, but the actual download is not
         
     | 
| 
      
 18 
     | 
    
         
            +
              # performed and user has no access to the downloaded files.
         
     | 
| 
      
 19 
     | 
    
         
            +
              class Download < PlaywrightApi
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                # Cancels a download. Will not fail if the download is already finished or canceled. Upon successful cancellations,
         
     | 
| 
      
 22 
     | 
    
         
            +
                # `download.failure()` would resolve to `'canceled'`.
         
     | 
| 
      
 23 
     | 
    
         
            +
                def cancel
         
     | 
| 
      
 24 
     | 
    
         
            +
                  wrap_impl(@impl.cancel)
         
     | 
| 
      
 25 
     | 
    
         
            +
                end
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                # Deletes the downloaded file. Will wait for the download to finish if necessary.
         
     | 
| 
      
 28 
     | 
    
         
            +
                def delete
         
     | 
| 
      
 29 
     | 
    
         
            +
                  wrap_impl(@impl.delete)
         
     | 
| 
      
 30 
     | 
    
         
            +
                end
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                # Returns download error if any. Will wait for the download to finish if necessary.
         
     | 
| 
      
 33 
     | 
    
         
            +
                def failure
         
     | 
| 
      
 34 
     | 
    
         
            +
                  wrap_impl(@impl.failure)
         
     | 
| 
      
 35 
     | 
    
         
            +
                end
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
                # Get the page that the download belongs to.
         
     | 
| 
      
 38 
     | 
    
         
            +
                def page
         
     | 
| 
      
 39 
     | 
    
         
            +
                  wrap_impl(@impl.page)
         
     | 
| 
      
 40 
     | 
    
         
            +
                end
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                # Returns path to the downloaded file in case of successful download. The method will wait for the download to finish if
         
     | 
| 
      
 43 
     | 
    
         
            +
                # necessary. The method throws when connected remotely.
         
     | 
| 
      
 44 
     | 
    
         
            +
                #
         
     | 
| 
      
 45 
     | 
    
         
            +
                # Note that the download's file name is a random GUID, use [`method: Download.suggestedFilename`] to get suggested file
         
     | 
| 
      
 46 
     | 
    
         
            +
                # name.
         
     | 
| 
      
 47 
     | 
    
         
            +
                def path
         
     | 
| 
      
 48 
     | 
    
         
            +
                  wrap_impl(@impl.path)
         
     | 
| 
      
 49 
     | 
    
         
            +
                end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
                # Copy the download to a user-specified path. It is safe to call this method while the download is still in progress. Will
         
     | 
| 
      
 52 
     | 
    
         
            +
                # wait for the download to finish if necessary.
         
     | 
| 
      
 53 
     | 
    
         
            +
                def save_as(path)
         
     | 
| 
      
 54 
     | 
    
         
            +
                  wrap_impl(@impl.save_as(unwrap_impl(path)))
         
     | 
| 
      
 55 
     | 
    
         
            +
                end
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
                # Returns suggested filename for this download. It is typically computed by the browser from the
         
     | 
| 
      
 58 
     | 
    
         
            +
                # [`Content-Disposition`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition) response header
         
     | 
| 
      
 59 
     | 
    
         
            +
                # or the `download` attribute. See the spec on [whatwg](https://html.spec.whatwg.org/#downloading-resources). Different
         
     | 
| 
      
 60 
     | 
    
         
            +
                # browsers can use different logic for computing it.
         
     | 
| 
      
 61 
     | 
    
         
            +
                def suggested_filename
         
     | 
| 
      
 62 
     | 
    
         
            +
                  wrap_impl(@impl.suggested_filename)
         
     | 
| 
      
 63 
     | 
    
         
            +
                end
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
                # Returns downloaded url.
         
     | 
| 
      
 66 
     | 
    
         
            +
                def url
         
     | 
| 
      
 67 
     | 
    
         
            +
                  wrap_impl(@impl.url)
         
     | 
| 
      
 68 
     | 
    
         
            +
                end
         
     | 
| 
      
 69 
     | 
    
         
            +
              end
         
     | 
| 
      
 70 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -7,19 +7,8 @@ module Playwright 
     | 
|
| 
       7 
7 
     | 
    
         
             
              # method.
         
     | 
| 
       8 
8 
     | 
    
         
             
              #
         
     | 
| 
       9 
9 
     | 
    
         
             
              # ```python sync
         
     | 
| 
       10 
     | 
    
         
            -
              #  
     | 
| 
       11 
     | 
    
         
            -
              #
         
     | 
| 
       12 
     | 
    
         
            -
              # def run(playwright):
         
     | 
| 
       13 
     | 
    
         
            -
              #     chromium = playwright.chromium
         
     | 
| 
       14 
     | 
    
         
            -
              #     browser = chromium.launch()
         
     | 
| 
       15 
     | 
    
         
            -
              #     page = browser.new_page()
         
     | 
| 
       16 
     | 
    
         
            -
              #     page.goto("https://example.com")
         
     | 
| 
       17 
     | 
    
         
            -
              #     href_element = page.query_selector("a")
         
     | 
| 
       18 
     | 
    
         
            -
              #     href_element.click()
         
     | 
| 
       19 
     | 
    
         
            -
              #     # ...
         
     | 
| 
       20 
     | 
    
         
            -
              #
         
     | 
| 
       21 
     | 
    
         
            -
              # with sync_playwright() as playwright:
         
     | 
| 
       22 
     | 
    
         
            -
              #     run(playwright)
         
     | 
| 
      
 10 
     | 
    
         
            +
              # href_element = page.query_selector("a")
         
     | 
| 
      
 11 
     | 
    
         
            +
              # href_element.click()
         
     | 
| 
       23 
12 
     | 
    
         
             
              # ```
         
     | 
| 
       24 
13 
     | 
    
         
             
              #
         
     | 
| 
       25 
14 
     | 
    
         
             
              # ElementHandle prevents DOM element from garbage collection unless the handle is disposed with
         
     | 
| 
         @@ -27,6 +16,31 @@ module Playwright 
     | 
|
| 
       27 
16 
     | 
    
         
             
              #
         
     | 
| 
       28 
17 
     | 
    
         
             
              # ElementHandle instances can be used as an argument in [`method: Page.evalOnSelector`] and [`method: Page.evaluate`]
         
     | 
| 
       29 
18 
     | 
    
         
             
              # methods.
         
     | 
| 
      
 19 
     | 
    
         
            +
              #
         
     | 
| 
      
 20 
     | 
    
         
            +
              # > NOTE: In most cases, you would want to use the `Locator` object instead. You should only use `ElementHandle` if you
         
     | 
| 
      
 21 
     | 
    
         
            +
              # want to retain a handle to a particular DOM Node that you intend to pass into [`method: Page.evaluate`] as an argument.
         
     | 
| 
      
 22 
     | 
    
         
            +
              #
         
     | 
| 
      
 23 
     | 
    
         
            +
              # The difference between the `Locator` and ElementHandle is that the ElementHandle points to a particular element, while
         
     | 
| 
      
 24 
     | 
    
         
            +
              # `Locator` captures the logic of how to retrieve an element.
         
     | 
| 
      
 25 
     | 
    
         
            +
              #
         
     | 
| 
      
 26 
     | 
    
         
            +
              # In the example below, handle points to a particular DOM element on page. If that element changes text or is used by
         
     | 
| 
      
 27 
     | 
    
         
            +
              # React to render an entirely different component, handle is still pointing to that very DOM element. This can lead to
         
     | 
| 
      
 28 
     | 
    
         
            +
              # unexpected behaviors.
         
     | 
| 
      
 29 
     | 
    
         
            +
              #
         
     | 
| 
      
 30 
     | 
    
         
            +
              # ```python sync
         
     | 
| 
      
 31 
     | 
    
         
            +
              # handle = page.query_selector("text=Submit")
         
     | 
| 
      
 32 
     | 
    
         
            +
              # handle.hover()
         
     | 
| 
      
 33 
     | 
    
         
            +
              # handle.click()
         
     | 
| 
      
 34 
     | 
    
         
            +
              # ```
         
     | 
| 
      
 35 
     | 
    
         
            +
              #
         
     | 
| 
      
 36 
     | 
    
         
            +
              # With the locator, every time the `element` is used, up-to-date DOM element is located in the page using the selector. So
         
     | 
| 
      
 37 
     | 
    
         
            +
              # in the snippet below, underlying DOM element is going to be located twice.
         
     | 
| 
      
 38 
     | 
    
         
            +
              #
         
     | 
| 
      
 39 
     | 
    
         
            +
              # ```python sync
         
     | 
| 
      
 40 
     | 
    
         
            +
              # locator = page.locator("text=Submit")
         
     | 
| 
      
 41 
     | 
    
         
            +
              # locator.hover()
         
     | 
| 
      
 42 
     | 
    
         
            +
              # locator.click()
         
     | 
| 
      
 43 
     | 
    
         
            +
              # ```
         
     | 
| 
       30 
44 
     | 
    
         
             
              class ElementHandle < JSHandle
         
     | 
| 
       31 
45 
     | 
    
         | 
| 
       32 
46 
     | 
    
         
             
                # This method returns the bounding box of the element, or `null` if the element is not visible. The bounding box is
         
     | 
| 
         @@ -210,8 +224,8 @@ module Playwright 
     | 
|
| 
       210 
224 
     | 
    
         
             
                # instead.
         
     | 
| 
       211 
225 
     | 
    
         
             
                #
         
     | 
| 
       212 
226 
     | 
    
         
             
                # To send fine-grained keyboard events, use [`method: ElementHandle.type`].
         
     | 
| 
       213 
     | 
    
         
            -
                def fill(value, noWaitAfter: nil, timeout: nil)
         
     | 
| 
       214 
     | 
    
         
            -
                  wrap_impl(@impl.fill(unwrap_impl(value), noWaitAfter: unwrap_impl(noWaitAfter), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 227 
     | 
    
         
            +
                def fill(value, force: nil, noWaitAfter: nil, timeout: nil)
         
     | 
| 
      
 228 
     | 
    
         
            +
                  wrap_impl(@impl.fill(unwrap_impl(value), force: unwrap_impl(force), noWaitAfter: unwrap_impl(noWaitAfter), timeout: unwrap_impl(timeout)))
         
     | 
| 
       215 
229 
     | 
    
         
             
                end
         
     | 
| 
       216 
230 
     | 
    
         | 
| 
       217 
231 
     | 
    
         
             
                # Calls [focus](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus) on the element.
         
     | 
| 
         @@ -254,6 +268,11 @@ module Playwright 
     | 
|
| 
       254 
268 
     | 
    
         
             
                  wrap_impl(@impl.inner_text)
         
     | 
| 
       255 
269 
     | 
    
         
             
                end
         
     | 
| 
       256 
270 
     | 
    
         | 
| 
      
 271 
     | 
    
         
            +
                # Returns `input.value` for `<input>` or `<textarea>` element. Throws for non-input elements.
         
     | 
| 
      
 272 
     | 
    
         
            +
                def input_value(timeout: nil)
         
     | 
| 
      
 273 
     | 
    
         
            +
                  wrap_impl(@impl.input_value(timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 274 
     | 
    
         
            +
                end
         
     | 
| 
      
 275 
     | 
    
         
            +
             
     | 
| 
       257 
276 
     | 
    
         
             
                # Returns whether the element is checked. Throws if the element is not a checkbox or radio input.
         
     | 
| 
       258 
277 
     | 
    
         
             
                def checked?
         
     | 
| 
       259 
278 
     | 
    
         
             
                  wrap_impl(@impl.checked?)
         
     | 
| 
         @@ -381,15 +400,16 @@ module Playwright 
     | 
|
| 
       381 
400 
     | 
    
         
             
                      index: nil,
         
     | 
| 
       382 
401 
     | 
    
         
             
                      value: nil,
         
     | 
| 
       383 
402 
     | 
    
         
             
                      label: nil,
         
     | 
| 
      
 403 
     | 
    
         
            +
                      force: nil,
         
     | 
| 
       384 
404 
     | 
    
         
             
                      noWaitAfter: nil,
         
     | 
| 
       385 
405 
     | 
    
         
             
                      timeout: nil)
         
     | 
| 
       386 
     | 
    
         
            -
                  wrap_impl(@impl.select_option(element: unwrap_impl(element), index: unwrap_impl(index), value: unwrap_impl(value), label: unwrap_impl(label), noWaitAfter: unwrap_impl(noWaitAfter), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 406 
     | 
    
         
            +
                  wrap_impl(@impl.select_option(element: unwrap_impl(element), index: unwrap_impl(index), value: unwrap_impl(value), label: unwrap_impl(label), force: unwrap_impl(force), noWaitAfter: unwrap_impl(noWaitAfter), timeout: unwrap_impl(timeout)))
         
     | 
| 
       387 
407 
     | 
    
         
             
                end
         
     | 
| 
       388 
408 
     | 
    
         | 
| 
       389 
409 
     | 
    
         
             
                # This method waits for [actionability](./actionability.md) checks, then focuses the element and selects all its text
         
     | 
| 
       390 
410 
     | 
    
         
             
                # content.
         
     | 
| 
       391 
     | 
    
         
            -
                def select_text(timeout: nil)
         
     | 
| 
       392 
     | 
    
         
            -
                  wrap_impl(@impl.select_text(timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 411 
     | 
    
         
            +
                def select_text(force: nil, timeout: nil)
         
     | 
| 
      
 412 
     | 
    
         
            +
                  wrap_impl(@impl.select_text(force: unwrap_impl(force), timeout: unwrap_impl(timeout)))
         
     | 
| 
       393 
413 
     | 
    
         
             
                end
         
     | 
| 
       394 
414 
     | 
    
         | 
| 
       395 
415 
     | 
    
         
             
                # This method expects `elementHandle` to point to an
         
     | 
| 
         @@ -511,20 +531,20 @@ module Playwright 
     | 
|
| 
       511 
531 
     | 
    
         | 
| 
       512 
532 
     | 
    
         
             
                # -- inherited from EventEmitter --
         
     | 
| 
       513 
533 
     | 
    
         
             
                # @nodoc
         
     | 
| 
       514 
     | 
    
         
            -
                def  
     | 
| 
       515 
     | 
    
         
            -
                  event_emitter_proxy. 
     | 
| 
      
 534 
     | 
    
         
            +
                def once(event, callback)
         
     | 
| 
      
 535 
     | 
    
         
            +
                  event_emitter_proxy.once(event, callback)
         
     | 
| 
       516 
536 
     | 
    
         
             
                end
         
     | 
| 
       517 
537 
     | 
    
         | 
| 
       518 
538 
     | 
    
         
             
                # -- inherited from EventEmitter --
         
     | 
| 
       519 
539 
     | 
    
         
             
                # @nodoc
         
     | 
| 
       520 
     | 
    
         
            -
                def  
     | 
| 
       521 
     | 
    
         
            -
                  event_emitter_proxy. 
     | 
| 
      
 540 
     | 
    
         
            +
                def on(event, callback)
         
     | 
| 
      
 541 
     | 
    
         
            +
                  event_emitter_proxy.on(event, callback)
         
     | 
| 
       522 
542 
     | 
    
         
             
                end
         
     | 
| 
       523 
543 
     | 
    
         | 
| 
       524 
544 
     | 
    
         
             
                # -- inherited from EventEmitter --
         
     | 
| 
       525 
545 
     | 
    
         
             
                # @nodoc
         
     | 
| 
       526 
     | 
    
         
            -
                def  
     | 
| 
       527 
     | 
    
         
            -
                  event_emitter_proxy. 
     | 
| 
      
 546 
     | 
    
         
            +
                def off(event, callback)
         
     | 
| 
      
 547 
     | 
    
         
            +
                  event_emitter_proxy.off(event, callback)
         
     | 
| 
       528 
548 
     | 
    
         
             
                end
         
     | 
| 
       529 
549 
     | 
    
         | 
| 
       530 
550 
     | 
    
         
             
                private def event_emitter_proxy
         
     | 
    
        data/lib/playwright_api/frame.rb
    CHANGED
    
    | 
         @@ -65,9 +65,10 @@ module Playwright 
     | 
|
| 
       65 
65 
     | 
    
         
             
                      force: nil,
         
     | 
| 
       66 
66 
     | 
    
         
             
                      noWaitAfter: nil,
         
     | 
| 
       67 
67 
     | 
    
         
             
                      position: nil,
         
     | 
| 
      
 68 
     | 
    
         
            +
                      strict: nil,
         
     | 
| 
       68 
69 
     | 
    
         
             
                      timeout: nil,
         
     | 
| 
       69 
70 
     | 
    
         
             
                      trial: nil)
         
     | 
| 
       70 
     | 
    
         
            -
                  wrap_impl(@impl.check(unwrap_impl(selector), force: unwrap_impl(force), noWaitAfter: unwrap_impl(noWaitAfter), position: unwrap_impl(position), timeout: unwrap_impl(timeout), trial: unwrap_impl(trial)))
         
     | 
| 
      
 71 
     | 
    
         
            +
                  wrap_impl(@impl.check(unwrap_impl(selector), force: unwrap_impl(force), noWaitAfter: unwrap_impl(noWaitAfter), position: unwrap_impl(position), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout), trial: unwrap_impl(trial)))
         
     | 
| 
       71 
72 
     | 
    
         
             
                end
         
     | 
| 
       72 
73 
     | 
    
         | 
| 
       73 
74 
     | 
    
         
             
                def child_frames
         
     | 
| 
         @@ -93,9 +94,10 @@ module Playwright 
     | 
|
| 
       93 
94 
     | 
    
         
             
                      modifiers: nil,
         
     | 
| 
       94 
95 
     | 
    
         
             
                      noWaitAfter: nil,
         
     | 
| 
       95 
96 
     | 
    
         
             
                      position: nil,
         
     | 
| 
      
 97 
     | 
    
         
            +
                      strict: nil,
         
     | 
| 
       96 
98 
     | 
    
         
             
                      timeout: nil,
         
     | 
| 
       97 
99 
     | 
    
         
             
                      trial: nil)
         
     | 
| 
       98 
     | 
    
         
            -
                  wrap_impl(@impl.click(unwrap_impl(selector), button: unwrap_impl(button), clickCount: unwrap_impl(clickCount), delay: unwrap_impl(delay), force: unwrap_impl(force), modifiers: unwrap_impl(modifiers), noWaitAfter: unwrap_impl(noWaitAfter), position: unwrap_impl(position), timeout: unwrap_impl(timeout), trial: unwrap_impl(trial)))
         
     | 
| 
      
 100 
     | 
    
         
            +
                  wrap_impl(@impl.click(unwrap_impl(selector), button: unwrap_impl(button), clickCount: unwrap_impl(clickCount), delay: unwrap_impl(delay), force: unwrap_impl(force), modifiers: unwrap_impl(modifiers), noWaitAfter: unwrap_impl(noWaitAfter), position: unwrap_impl(position), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout), trial: unwrap_impl(trial)))
         
     | 
| 
       99 
101 
     | 
    
         
             
                end
         
     | 
| 
       100 
102 
     | 
    
         | 
| 
       101 
103 
     | 
    
         
             
                # Gets the full HTML contents of the frame, including the doctype.
         
     | 
| 
         @@ -124,9 +126,10 @@ module Playwright 
     | 
|
| 
       124 
126 
     | 
    
         
             
                      modifiers: nil,
         
     | 
| 
       125 
127 
     | 
    
         
             
                      noWaitAfter: nil,
         
     | 
| 
       126 
128 
     | 
    
         
             
                      position: nil,
         
     | 
| 
      
 129 
     | 
    
         
            +
                      strict: nil,
         
     | 
| 
       127 
130 
     | 
    
         
             
                      timeout: nil,
         
     | 
| 
       128 
131 
     | 
    
         
             
                      trial: nil)
         
     | 
| 
       129 
     | 
    
         
            -
                  wrap_impl(@impl.dblclick(unwrap_impl(selector), button: unwrap_impl(button), delay: unwrap_impl(delay), force: unwrap_impl(force), modifiers: unwrap_impl(modifiers), noWaitAfter: unwrap_impl(noWaitAfter), position: unwrap_impl(position), timeout: unwrap_impl(timeout), trial: unwrap_impl(trial)))
         
     | 
| 
      
 132 
     | 
    
         
            +
                  wrap_impl(@impl.dblclick(unwrap_impl(selector), button: unwrap_impl(button), delay: unwrap_impl(delay), force: unwrap_impl(force), modifiers: unwrap_impl(modifiers), noWaitAfter: unwrap_impl(noWaitAfter), position: unwrap_impl(position), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout), trial: unwrap_impl(trial)))
         
     | 
| 
       130 
133 
     | 
    
         
             
                end
         
     | 
| 
       131 
134 
     | 
    
         | 
| 
       132 
135 
     | 
    
         
             
                # The snippet below dispatches the `click` event on the element. Regardless of the visibility state of the element,
         
     | 
| 
         @@ -156,8 +159,24 @@ module Playwright 
     | 
|
| 
       156 
159 
     | 
    
         
             
                # data_transfer = frame.evaluate_handle("new DataTransfer()")
         
     | 
| 
       157 
160 
     | 
    
         
             
                # frame.dispatch_event("#source", "dragstart", { "dataTransfer": data_transfer })
         
     | 
| 
       158 
161 
     | 
    
         
             
                # ```
         
     | 
| 
       159 
     | 
    
         
            -
                def dispatch_event( 
     | 
| 
       160 
     | 
    
         
            -
             
     | 
| 
      
 162 
     | 
    
         
            +
                def dispatch_event(
         
     | 
| 
      
 163 
     | 
    
         
            +
                      selector,
         
     | 
| 
      
 164 
     | 
    
         
            +
                      type,
         
     | 
| 
      
 165 
     | 
    
         
            +
                      eventInit: nil,
         
     | 
| 
      
 166 
     | 
    
         
            +
                      strict: nil,
         
     | 
| 
      
 167 
     | 
    
         
            +
                      timeout: nil)
         
     | 
| 
      
 168 
     | 
    
         
            +
                  wrap_impl(@impl.dispatch_event(unwrap_impl(selector), unwrap_impl(type), eventInit: unwrap_impl(eventInit), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 169 
     | 
    
         
            +
                end
         
     | 
| 
      
 170 
     | 
    
         
            +
             
     | 
| 
      
 171 
     | 
    
         
            +
                def drag_and_drop(
         
     | 
| 
      
 172 
     | 
    
         
            +
                      source,
         
     | 
| 
      
 173 
     | 
    
         
            +
                      target,
         
     | 
| 
      
 174 
     | 
    
         
            +
                      force: nil,
         
     | 
| 
      
 175 
     | 
    
         
            +
                      noWaitAfter: nil,
         
     | 
| 
      
 176 
     | 
    
         
            +
                      strict: nil,
         
     | 
| 
      
 177 
     | 
    
         
            +
                      timeout: nil,
         
     | 
| 
      
 178 
     | 
    
         
            +
                      trial: nil)
         
     | 
| 
      
 179 
     | 
    
         
            +
                  wrap_impl(@impl.drag_and_drop(unwrap_impl(source), unwrap_impl(target), force: unwrap_impl(force), noWaitAfter: unwrap_impl(noWaitAfter), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout), trial: unwrap_impl(trial)))
         
     | 
| 
       161 
180 
     | 
    
         
             
                end
         
     | 
| 
       162 
181 
     | 
    
         | 
| 
       163 
182 
     | 
    
         
             
                # Returns the return value of `expression`.
         
     | 
| 
         @@ -176,8 +195,8 @@ module Playwright 
     | 
|
| 
       176 
195 
     | 
    
         
             
                # preload_href = frame.eval_on_selector("link[rel=preload]", "el => el.href")
         
     | 
| 
       177 
196 
     | 
    
         
             
                # html = frame.eval_on_selector(".main-container", "(e, suffix) => e.outerHTML + suffix", "hello")
         
     | 
| 
       178 
197 
     | 
    
         
             
                # ```
         
     | 
| 
       179 
     | 
    
         
            -
                def eval_on_selector(selector, expression, arg: nil)
         
     | 
| 
       180 
     | 
    
         
            -
                  wrap_impl(@impl.eval_on_selector(unwrap_impl(selector), unwrap_impl(expression), arg: unwrap_impl(arg)))
         
     | 
| 
      
 198 
     | 
    
         
            +
                def eval_on_selector(selector, expression, arg: nil, strict: nil)
         
     | 
| 
      
 199 
     | 
    
         
            +
                  wrap_impl(@impl.eval_on_selector(unwrap_impl(selector), unwrap_impl(expression), arg: unwrap_impl(arg), strict: unwrap_impl(strict)))
         
     | 
| 
       181 
200 
     | 
    
         
             
                end
         
     | 
| 
       182 
201 
     | 
    
         | 
| 
       183 
202 
     | 
    
         
             
                # Returns the return value of `expression`.
         
     | 
| 
         @@ -271,14 +290,20 @@ module Playwright 
     | 
|
| 
       271 
290 
     | 
    
         
             
                # instead.
         
     | 
| 
       272 
291 
     | 
    
         
             
                #
         
     | 
| 
       273 
292 
     | 
    
         
             
                # To send fine-grained keyboard events, use [`method: Frame.type`].
         
     | 
| 
       274 
     | 
    
         
            -
                def fill( 
     | 
| 
       275 
     | 
    
         
            -
             
     | 
| 
      
 293 
     | 
    
         
            +
                def fill(
         
     | 
| 
      
 294 
     | 
    
         
            +
                      selector,
         
     | 
| 
      
 295 
     | 
    
         
            +
                      value,
         
     | 
| 
      
 296 
     | 
    
         
            +
                      force: nil,
         
     | 
| 
      
 297 
     | 
    
         
            +
                      noWaitAfter: nil,
         
     | 
| 
      
 298 
     | 
    
         
            +
                      strict: nil,
         
     | 
| 
      
 299 
     | 
    
         
            +
                      timeout: nil)
         
     | 
| 
      
 300 
     | 
    
         
            +
                  wrap_impl(@impl.fill(unwrap_impl(selector), unwrap_impl(value), force: unwrap_impl(force), noWaitAfter: unwrap_impl(noWaitAfter), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
         
     | 
| 
       276 
301 
     | 
    
         
             
                end
         
     | 
| 
       277 
302 
     | 
    
         | 
| 
       278 
303 
     | 
    
         
             
                # This method fetches an element with `selector` and focuses it. If there's no element matching `selector`, the method
         
     | 
| 
       279 
304 
     | 
    
         
             
                # waits until a matching element appears in the DOM.
         
     | 
| 
       280 
     | 
    
         
            -
                def focus(selector, timeout: nil)
         
     | 
| 
       281 
     | 
    
         
            -
                  wrap_impl(@impl.focus(unwrap_impl(selector), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 305 
     | 
    
         
            +
                def focus(selector, strict: nil, timeout: nil)
         
     | 
| 
      
 306 
     | 
    
         
            +
                  wrap_impl(@impl.focus(unwrap_impl(selector), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
         
     | 
| 
       282 
307 
     | 
    
         
             
                end
         
     | 
| 
       283 
308 
     | 
    
         | 
| 
       284 
309 
     | 
    
         
             
                # Returns the `frame` or `iframe` element handle which corresponds to this frame.
         
     | 
| 
         @@ -298,8 +323,8 @@ module Playwright 
     | 
|
| 
       298 
323 
     | 
    
         
             
                end
         
     | 
| 
       299 
324 
     | 
    
         | 
| 
       300 
325 
     | 
    
         
             
                # Returns element attribute value.
         
     | 
| 
       301 
     | 
    
         
            -
                def get_attribute(selector, name, timeout: nil)
         
     | 
| 
       302 
     | 
    
         
            -
                  wrap_impl(@impl.get_attribute(unwrap_impl(selector), unwrap_impl(name), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 326 
     | 
    
         
            +
                def get_attribute(selector, name, strict: nil, timeout: nil)
         
     | 
| 
      
 327 
     | 
    
         
            +
                  wrap_impl(@impl.get_attribute(unwrap_impl(selector), unwrap_impl(name), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
         
     | 
| 
       303 
328 
     | 
    
         
             
                end
         
     | 
| 
       304 
329 
     | 
    
         | 
| 
       305 
330 
     | 
    
         
             
                # Returns the main resource response. In case of multiple redirects, the navigation will resolve with the response of the
         
     | 
| 
         @@ -339,24 +364,30 @@ module Playwright 
     | 
|
| 
       339 
364 
     | 
    
         
             
                      force: nil,
         
     | 
| 
       340 
365 
     | 
    
         
             
                      modifiers: nil,
         
     | 
| 
       341 
366 
     | 
    
         
             
                      position: nil,
         
     | 
| 
      
 367 
     | 
    
         
            +
                      strict: nil,
         
     | 
| 
       342 
368 
     | 
    
         
             
                      timeout: nil,
         
     | 
| 
       343 
369 
     | 
    
         
             
                      trial: nil)
         
     | 
| 
       344 
     | 
    
         
            -
                  wrap_impl(@impl.hover(unwrap_impl(selector), force: unwrap_impl(force), modifiers: unwrap_impl(modifiers), position: unwrap_impl(position), timeout: unwrap_impl(timeout), trial: unwrap_impl(trial)))
         
     | 
| 
      
 370 
     | 
    
         
            +
                  wrap_impl(@impl.hover(unwrap_impl(selector), force: unwrap_impl(force), modifiers: unwrap_impl(modifiers), position: unwrap_impl(position), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout), trial: unwrap_impl(trial)))
         
     | 
| 
       345 
371 
     | 
    
         
             
                end
         
     | 
| 
       346 
372 
     | 
    
         | 
| 
       347 
373 
     | 
    
         
             
                # Returns `element.innerHTML`.
         
     | 
| 
       348 
     | 
    
         
            -
                def inner_html(selector, timeout: nil)
         
     | 
| 
       349 
     | 
    
         
            -
                  wrap_impl(@impl.inner_html(unwrap_impl(selector), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 374 
     | 
    
         
            +
                def inner_html(selector, strict: nil, timeout: nil)
         
     | 
| 
      
 375 
     | 
    
         
            +
                  wrap_impl(@impl.inner_html(unwrap_impl(selector), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
         
     | 
| 
       350 
376 
     | 
    
         
             
                end
         
     | 
| 
       351 
377 
     | 
    
         | 
| 
       352 
378 
     | 
    
         
             
                # Returns `element.innerText`.
         
     | 
| 
       353 
     | 
    
         
            -
                def inner_text(selector, timeout: nil)
         
     | 
| 
       354 
     | 
    
         
            -
                  wrap_impl(@impl.inner_text(unwrap_impl(selector), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 379 
     | 
    
         
            +
                def inner_text(selector, strict: nil, timeout: nil)
         
     | 
| 
      
 380 
     | 
    
         
            +
                  wrap_impl(@impl.inner_text(unwrap_impl(selector), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 381 
     | 
    
         
            +
                end
         
     | 
| 
      
 382 
     | 
    
         
            +
             
     | 
| 
      
 383 
     | 
    
         
            +
                # Returns `input.value` for the selected `<input>` or `<textarea>` element. Throws for non-input elements.
         
     | 
| 
      
 384 
     | 
    
         
            +
                def input_value(selector, strict: nil, timeout: nil)
         
     | 
| 
      
 385 
     | 
    
         
            +
                  wrap_impl(@impl.input_value(unwrap_impl(selector), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
         
     | 
| 
       355 
386 
     | 
    
         
             
                end
         
     | 
| 
       356 
387 
     | 
    
         | 
| 
       357 
388 
     | 
    
         
             
                # Returns whether the element is checked. Throws if the element is not a checkbox or radio input.
         
     | 
| 
       358 
     | 
    
         
            -
                def checked?(selector, timeout: nil)
         
     | 
| 
       359 
     | 
    
         
            -
                  wrap_impl(@impl.checked?(unwrap_impl(selector), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 389 
     | 
    
         
            +
                def checked?(selector, strict: nil, timeout: nil)
         
     | 
| 
      
 390 
     | 
    
         
            +
                  wrap_impl(@impl.checked?(unwrap_impl(selector), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
         
     | 
| 
       360 
391 
     | 
    
         
             
                end
         
     | 
| 
       361 
392 
     | 
    
         | 
| 
       362 
393 
     | 
    
         
             
                # Returns `true` if the frame has been detached, or `false` otherwise.
         
     | 
| 
         @@ -365,30 +396,39 @@ module Playwright 
     | 
|
| 
       365 
396 
     | 
    
         
             
                end
         
     | 
| 
       366 
397 
     | 
    
         | 
| 
       367 
398 
     | 
    
         
             
                # Returns whether the element is disabled, the opposite of [enabled](./actionability.md#enabled).
         
     | 
| 
       368 
     | 
    
         
            -
                def disabled?(selector, timeout: nil)
         
     | 
| 
       369 
     | 
    
         
            -
                  wrap_impl(@impl.disabled?(unwrap_impl(selector), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 399 
     | 
    
         
            +
                def disabled?(selector, strict: nil, timeout: nil)
         
     | 
| 
      
 400 
     | 
    
         
            +
                  wrap_impl(@impl.disabled?(unwrap_impl(selector), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
         
     | 
| 
       370 
401 
     | 
    
         
             
                end
         
     | 
| 
       371 
402 
     | 
    
         | 
| 
       372 
403 
     | 
    
         
             
                # Returns whether the element is [editable](./actionability.md#editable).
         
     | 
| 
       373 
     | 
    
         
            -
                def editable?(selector, timeout: nil)
         
     | 
| 
       374 
     | 
    
         
            -
                  wrap_impl(@impl.editable?(unwrap_impl(selector), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 404 
     | 
    
         
            +
                def editable?(selector, strict: nil, timeout: nil)
         
     | 
| 
      
 405 
     | 
    
         
            +
                  wrap_impl(@impl.editable?(unwrap_impl(selector), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
         
     | 
| 
       375 
406 
     | 
    
         
             
                end
         
     | 
| 
       376 
407 
     | 
    
         | 
| 
       377 
408 
     | 
    
         
             
                # Returns whether the element is [enabled](./actionability.md#enabled).
         
     | 
| 
       378 
     | 
    
         
            -
                def enabled?(selector, timeout: nil)
         
     | 
| 
       379 
     | 
    
         
            -
                  wrap_impl(@impl.enabled?(unwrap_impl(selector), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 409 
     | 
    
         
            +
                def enabled?(selector, strict: nil, timeout: nil)
         
     | 
| 
      
 410 
     | 
    
         
            +
                  wrap_impl(@impl.enabled?(unwrap_impl(selector), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
         
     | 
| 
       380 
411 
     | 
    
         
             
                end
         
     | 
| 
       381 
412 
     | 
    
         | 
| 
       382 
413 
     | 
    
         
             
                # Returns whether the element is hidden, the opposite of [visible](./actionability.md#visible).  `selector` that does not
         
     | 
| 
       383 
414 
     | 
    
         
             
                # match any elements is considered hidden.
         
     | 
| 
       384 
     | 
    
         
            -
                def hidden?(selector, timeout: nil)
         
     | 
| 
       385 
     | 
    
         
            -
                  wrap_impl(@impl.hidden?(unwrap_impl(selector), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 415 
     | 
    
         
            +
                def hidden?(selector, strict: nil, timeout: nil)
         
     | 
| 
      
 416 
     | 
    
         
            +
                  wrap_impl(@impl.hidden?(unwrap_impl(selector), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
         
     | 
| 
       386 
417 
     | 
    
         
             
                end
         
     | 
| 
       387 
418 
     | 
    
         | 
| 
       388 
419 
     | 
    
         
             
                # Returns whether the element is [visible](./actionability.md#visible). `selector` that does not match any elements is
         
     | 
| 
       389 
420 
     | 
    
         
             
                # considered not visible.
         
     | 
| 
       390 
     | 
    
         
            -
                def visible?(selector, timeout: nil)
         
     | 
| 
       391 
     | 
    
         
            -
                  wrap_impl(@impl.visible?(unwrap_impl(selector), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 421 
     | 
    
         
            +
                def visible?(selector, strict: nil, timeout: nil)
         
     | 
| 
      
 422 
     | 
    
         
            +
                  wrap_impl(@impl.visible?(unwrap_impl(selector), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 423 
     | 
    
         
            +
                end
         
     | 
| 
      
 424 
     | 
    
         
            +
             
     | 
| 
      
 425 
     | 
    
         
            +
                # The method returns an element locator that can be used to perform actions in the frame. Locator is resolved to the
         
     | 
| 
      
 426 
     | 
    
         
            +
                # element immediately before performing an action, so a series of actions on the same locator can in fact be performed on
         
     | 
| 
      
 427 
     | 
    
         
            +
                # different DOM elements. That would happen if the DOM structure between those actions has changed.
         
     | 
| 
      
 428 
     | 
    
         
            +
                #
         
     | 
| 
      
 429 
     | 
    
         
            +
                # Note that locator always implies visibility, so it will always be locating visible elements.
         
     | 
| 
      
 430 
     | 
    
         
            +
                def locator(selector)
         
     | 
| 
      
 431 
     | 
    
         
            +
                  wrap_impl(@impl.locator(unwrap_impl(selector)))
         
     | 
| 
       392 
432 
     | 
    
         
             
                end
         
     | 
| 
       393 
433 
     | 
    
         | 
| 
       394 
434 
     | 
    
         
             
                # Returns frame's name attribute as specified in the tag.
         
     | 
| 
         @@ -431,16 +471,17 @@ module Playwright 
     | 
|
| 
       431 
471 
     | 
    
         
             
                      key,
         
     | 
| 
       432 
472 
     | 
    
         
             
                      delay: nil,
         
     | 
| 
       433 
473 
     | 
    
         
             
                      noWaitAfter: nil,
         
     | 
| 
      
 474 
     | 
    
         
            +
                      strict: nil,
         
     | 
| 
       434 
475 
     | 
    
         
             
                      timeout: nil)
         
     | 
| 
       435 
     | 
    
         
            -
                  wrap_impl(@impl.press(unwrap_impl(selector), unwrap_impl(key), delay: unwrap_impl(delay), noWaitAfter: unwrap_impl(noWaitAfter), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 476 
     | 
    
         
            +
                  wrap_impl(@impl.press(unwrap_impl(selector), unwrap_impl(key), delay: unwrap_impl(delay), noWaitAfter: unwrap_impl(noWaitAfter), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
         
     | 
| 
       436 
477 
     | 
    
         
             
                end
         
     | 
| 
       437 
478 
     | 
    
         | 
| 
       438 
479 
     | 
    
         
             
                # Returns the ElementHandle pointing to the frame element.
         
     | 
| 
       439 
480 
     | 
    
         
             
                #
         
     | 
| 
       440 
481 
     | 
    
         
             
                # The method finds an element matching the specified selector within the frame. See
         
     | 
| 
       441 
482 
     | 
    
         
             
                # [Working with selectors](./selectors.md) for more details. If no elements match the selector, returns `null`.
         
     | 
| 
       442 
     | 
    
         
            -
                def query_selector(selector)
         
     | 
| 
       443 
     | 
    
         
            -
                  wrap_impl(@impl.query_selector(unwrap_impl(selector)))
         
     | 
| 
      
 483 
     | 
    
         
            +
                def query_selector(selector, strict: nil)
         
     | 
| 
      
 484 
     | 
    
         
            +
                  wrap_impl(@impl.query_selector(unwrap_impl(selector), strict: unwrap_impl(strict)))
         
     | 
| 
       444 
485 
     | 
    
         
             
                end
         
     | 
| 
       445 
486 
     | 
    
         | 
| 
       446 
487 
     | 
    
         
             
                # Returns the ElementHandles pointing to the frame elements.
         
     | 
| 
         @@ -476,9 +517,11 @@ module Playwright 
     | 
|
| 
       476 
517 
     | 
    
         
             
                      index: nil,
         
     | 
| 
       477 
518 
     | 
    
         
             
                      value: nil,
         
     | 
| 
       478 
519 
     | 
    
         
             
                      label: nil,
         
     | 
| 
      
 520 
     | 
    
         
            +
                      force: nil,
         
     | 
| 
       479 
521 
     | 
    
         
             
                      noWaitAfter: nil,
         
     | 
| 
      
 522 
     | 
    
         
            +
                      strict: nil,
         
     | 
| 
       480 
523 
     | 
    
         
             
                      timeout: nil)
         
     | 
| 
       481 
     | 
    
         
            -
                  wrap_impl(@impl.select_option(unwrap_impl(selector), element: unwrap_impl(element), index: unwrap_impl(index), value: unwrap_impl(value), label: unwrap_impl(label), noWaitAfter: unwrap_impl(noWaitAfter), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 524 
     | 
    
         
            +
                  wrap_impl(@impl.select_option(unwrap_impl(selector), element: unwrap_impl(element), index: unwrap_impl(index), value: unwrap_impl(value), label: unwrap_impl(label), force: unwrap_impl(force), noWaitAfter: unwrap_impl(noWaitAfter), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
         
     | 
| 
       482 
525 
     | 
    
         
             
                end
         
     | 
| 
       483 
526 
     | 
    
         | 
| 
       484 
527 
     | 
    
         
             
                def set_content(html, timeout: nil, waitUntil: nil)
         
     | 
| 
         @@ -491,8 +534,13 @@ module Playwright 
     | 
|
| 
       491 
534 
     | 
    
         
             
                #
         
     | 
| 
       492 
535 
     | 
    
         
             
                # Sets the value of the file input to these file paths or files. If some of the `filePaths` are relative paths, then they
         
     | 
| 
       493 
536 
     | 
    
         
             
                # are resolved relative to the the current working directory. For empty array, clears the selected files.
         
     | 
| 
       494 
     | 
    
         
            -
                def set_input_files( 
     | 
| 
       495 
     | 
    
         
            -
             
     | 
| 
      
 537 
     | 
    
         
            +
                def set_input_files(
         
     | 
| 
      
 538 
     | 
    
         
            +
                      selector,
         
     | 
| 
      
 539 
     | 
    
         
            +
                      files,
         
     | 
| 
      
 540 
     | 
    
         
            +
                      noWaitAfter: nil,
         
     | 
| 
      
 541 
     | 
    
         
            +
                      strict: nil,
         
     | 
| 
      
 542 
     | 
    
         
            +
                      timeout: nil)
         
     | 
| 
      
 543 
     | 
    
         
            +
                  wrap_impl(@impl.set_input_files(unwrap_impl(selector), unwrap_impl(files), noWaitAfter: unwrap_impl(noWaitAfter), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
         
     | 
| 
       496 
544 
     | 
    
         
             
                end
         
     | 
| 
       497 
545 
     | 
    
         | 
| 
       498 
546 
     | 
    
         
             
                # This method taps an element matching `selector` by performing the following steps:
         
     | 
| 
         @@ -513,14 +561,15 @@ module Playwright 
     | 
|
| 
       513 
561 
     | 
    
         
             
                      modifiers: nil,
         
     | 
| 
       514 
562 
     | 
    
         
             
                      noWaitAfter: nil,
         
     | 
| 
       515 
563 
     | 
    
         
             
                      position: nil,
         
     | 
| 
      
 564 
     | 
    
         
            +
                      strict: nil,
         
     | 
| 
       516 
565 
     | 
    
         
             
                      timeout: nil,
         
     | 
| 
       517 
566 
     | 
    
         
             
                      trial: nil)
         
     | 
| 
       518 
     | 
    
         
            -
                  wrap_impl(@impl.tap_point(unwrap_impl(selector), force: unwrap_impl(force), modifiers: unwrap_impl(modifiers), noWaitAfter: unwrap_impl(noWaitAfter), position: unwrap_impl(position), timeout: unwrap_impl(timeout), trial: unwrap_impl(trial)))
         
     | 
| 
      
 567 
     | 
    
         
            +
                  wrap_impl(@impl.tap_point(unwrap_impl(selector), force: unwrap_impl(force), modifiers: unwrap_impl(modifiers), noWaitAfter: unwrap_impl(noWaitAfter), position: unwrap_impl(position), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout), trial: unwrap_impl(trial)))
         
     | 
| 
       519 
568 
     | 
    
         
             
                end
         
     | 
| 
       520 
569 
     | 
    
         | 
| 
       521 
570 
     | 
    
         
             
                # Returns `element.textContent`.
         
     | 
| 
       522 
     | 
    
         
            -
                def text_content(selector, timeout: nil)
         
     | 
| 
       523 
     | 
    
         
            -
                  wrap_impl(@impl.text_content(unwrap_impl(selector), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 571 
     | 
    
         
            +
                def text_content(selector, strict: nil, timeout: nil)
         
     | 
| 
      
 572 
     | 
    
         
            +
                  wrap_impl(@impl.text_content(unwrap_impl(selector), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
         
     | 
| 
       524 
573 
     | 
    
         
             
                end
         
     | 
| 
       525 
574 
     | 
    
         | 
| 
       526 
575 
     | 
    
         
             
                # Returns the page title.
         
     | 
| 
         @@ -542,8 +591,9 @@ module Playwright 
     | 
|
| 
       542 
591 
     | 
    
         
             
                      text,
         
     | 
| 
       543 
592 
     | 
    
         
             
                      delay: nil,
         
     | 
| 
       544 
593 
     | 
    
         
             
                      noWaitAfter: nil,
         
     | 
| 
      
 594 
     | 
    
         
            +
                      strict: nil,
         
     | 
| 
       545 
595 
     | 
    
         
             
                      timeout: nil)
         
     | 
| 
       546 
     | 
    
         
            -
                  wrap_impl(@impl.type(unwrap_impl(selector), unwrap_impl(text), delay: unwrap_impl(delay), noWaitAfter: unwrap_impl(noWaitAfter), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 596 
     | 
    
         
            +
                  wrap_impl(@impl.type(unwrap_impl(selector), unwrap_impl(text), delay: unwrap_impl(delay), noWaitAfter: unwrap_impl(noWaitAfter), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
         
     | 
| 
       547 
597 
     | 
    
         
             
                end
         
     | 
| 
       548 
598 
     | 
    
         | 
| 
       549 
599 
     | 
    
         
             
                # This method checks an element matching `selector` by performing the following steps:
         
     | 
| 
         @@ -564,9 +614,10 @@ module Playwright 
     | 
|
| 
       564 
614 
     | 
    
         
             
                      force: nil,
         
     | 
| 
       565 
615 
     | 
    
         
             
                      noWaitAfter: nil,
         
     | 
| 
       566 
616 
     | 
    
         
             
                      position: nil,
         
     | 
| 
      
 617 
     | 
    
         
            +
                      strict: nil,
         
     | 
| 
       567 
618 
     | 
    
         
             
                      timeout: nil,
         
     | 
| 
       568 
619 
     | 
    
         
             
                      trial: nil)
         
     | 
| 
       569 
     | 
    
         
            -
                  wrap_impl(@impl.uncheck(unwrap_impl(selector), force: unwrap_impl(force), noWaitAfter: unwrap_impl(noWaitAfter), position: unwrap_impl(position), timeout: unwrap_impl(timeout), trial: unwrap_impl(trial)))
         
     | 
| 
      
 620 
     | 
    
         
            +
                  wrap_impl(@impl.uncheck(unwrap_impl(selector), force: unwrap_impl(force), noWaitAfter: unwrap_impl(noWaitAfter), position: unwrap_impl(position), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout), trial: unwrap_impl(trial)))
         
     | 
| 
       570 
621 
     | 
    
         
             
                end
         
     | 
| 
       571 
622 
     | 
    
         | 
| 
       572 
623 
     | 
    
         
             
                # Returns frame's url.
         
     | 
| 
         @@ -660,8 +711,8 @@ module Playwright 
     | 
|
| 
       660 
711 
     | 
    
         
             
                # with sync_playwright() as playwright:
         
     | 
| 
       661 
712 
     | 
    
         
             
                #     run(playwright)
         
     | 
| 
       662 
713 
     | 
    
         
             
                # ```
         
     | 
| 
       663 
     | 
    
         
            -
                def wait_for_selector(selector, state: nil, timeout: nil)
         
     | 
| 
       664 
     | 
    
         
            -
                  wrap_impl(@impl.wait_for_selector(unwrap_impl(selector), state: unwrap_impl(state), timeout: unwrap_impl(timeout)))
         
     | 
| 
      
 714 
     | 
    
         
            +
                def wait_for_selector(selector, state: nil, strict: nil, timeout: nil)
         
     | 
| 
      
 715 
     | 
    
         
            +
                  wrap_impl(@impl.wait_for_selector(unwrap_impl(selector), state: unwrap_impl(state), strict: unwrap_impl(strict), timeout: unwrap_impl(timeout)))
         
     | 
| 
       665 
716 
     | 
    
         
             
                end
         
     | 
| 
       666 
717 
     | 
    
         | 
| 
       667 
718 
     | 
    
         
             
                # Waits for the given `timeout` in milliseconds.
         
     | 
| 
         @@ -689,20 +740,20 @@ module Playwright 
     | 
|
| 
       689 
740 
     | 
    
         | 
| 
       690 
741 
     | 
    
         
             
                # -- inherited from EventEmitter --
         
     | 
| 
       691 
742 
     | 
    
         
             
                # @nodoc
         
     | 
| 
       692 
     | 
    
         
            -
                def  
     | 
| 
       693 
     | 
    
         
            -
                  event_emitter_proxy. 
     | 
| 
      
 743 
     | 
    
         
            +
                def once(event, callback)
         
     | 
| 
      
 744 
     | 
    
         
            +
                  event_emitter_proxy.once(event, callback)
         
     | 
| 
       694 
745 
     | 
    
         
             
                end
         
     | 
| 
       695 
746 
     | 
    
         | 
| 
       696 
747 
     | 
    
         
             
                # -- inherited from EventEmitter --
         
     | 
| 
       697 
748 
     | 
    
         
             
                # @nodoc
         
     | 
| 
       698 
     | 
    
         
            -
                def  
     | 
| 
       699 
     | 
    
         
            -
                  event_emitter_proxy. 
     | 
| 
      
 749 
     | 
    
         
            +
                def on(event, callback)
         
     | 
| 
      
 750 
     | 
    
         
            +
                  event_emitter_proxy.on(event, callback)
         
     | 
| 
       700 
751 
     | 
    
         
             
                end
         
     | 
| 
       701 
752 
     | 
    
         | 
| 
       702 
753 
     | 
    
         
             
                # -- inherited from EventEmitter --
         
     | 
| 
       703 
754 
     | 
    
         
             
                # @nodoc
         
     | 
| 
       704 
     | 
    
         
            -
                def  
     | 
| 
       705 
     | 
    
         
            -
                  event_emitter_proxy. 
     | 
| 
      
 755 
     | 
    
         
            +
                def off(event, callback)
         
     | 
| 
      
 756 
     | 
    
         
            +
                  event_emitter_proxy.off(event, callback)
         
     | 
| 
       706 
757 
     | 
    
         
             
                end
         
     | 
| 
       707 
758 
     | 
    
         | 
| 
       708 
759 
     | 
    
         
             
                private def event_emitter_proxy
         
     |