lib/playwright_api/download.rb
module Playwright # # `Download` objects are dispatched by page via the [`event: Page.download`] event. # # All the downloaded files belonging to the browser context are deleted when the # browser context is closed. # # Download event is emitted once the download starts. Download path becomes available once download completes: # # ```python sync # with page.expect_download() as download_info: # page.get_by_text("Download file").click() # download = download_info.value # # wait for download to complete # path = download.path() # ``` class Download < PlaywrightApi # # Cancels a download. Will not fail if the download is already finished or canceled. # Upon successful cancellations, `download.failure()` would resolve to `'canceled'`. def cancel wrap_impl(@impl.cancel) end # # Deletes the downloaded file. Will wait for the download to finish if necessary. def delete wrap_impl(@impl.delete) end # # Returns download error if any. Will wait for the download to finish if necessary. def failure wrap_impl(@impl.failure) end # # Get the page that the download belongs to. def page wrap_impl(@impl.page) end # # Returns path to the downloaded file in case of successful download. The method will # wait for the download to finish if necessary. The method throws when connected remotely. # # Note that the download's file name is a random GUID, use [`method: Download.suggestedFilename`] # to get suggested file name. def path wrap_impl(@impl.path) end # # Copy the download to a user-specified path. It is safe to call this method while the download # is still in progress. Will wait for the download to finish if necessary. def save_as(path) wrap_impl(@impl.save_as(unwrap_impl(path))) end # # Returns suggested filename for this download. It is typically computed by the browser from the # [`Content-Disposition`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition) response header # or the `download` attribute. See the spec on [whatwg](https://html.spec.whatwg.org/#downloading-resources). Different # browsers can use different logic for computing it. def suggested_filename wrap_impl(@impl.suggested_filename) end # # Returns downloaded url. def url wrap_impl(@impl.url) end end end