Skip to content

Instantly share code, notes, and snippets.

@kaisumi
Created February 14, 2022 12:25
Show Gist options
  • Save kaisumi/933c5dd1b4486628d24109020cd808ca to your computer and use it in GitHub Desktop.
Save kaisumi/933c5dd1b4486628d24109020cd808ca to your computer and use it in GitHub Desktop.
Clipboard reading in Capybara
cdp_params = {
origin: page.server_url,
permission: { name: 'clipboard-read' },
setting: 'granted'
}
page.driver.browser.execute_cdp('Browser.setPermission', **cdp_params)
clip_text = page.evaluate_async_script('navigator.clipboard.readText().then(arguments[0])')
@MatheusRich
Copy link

If you need clipboard write, add this to your rails helper:

  config.before(type: :system, enable_clipboard_write: true) do
    # In case the permission name changes, check the following link for the new name:
    # https://chromedevtools.github.io/devtools-protocol/tot/Browser/#type-PermissionType
    page
      .driver
      .browser
      .execute_cdp(
        "Browser.grantPermissions",
        origin: page.server_url,
        permissions: ["clipboardSanitizedWrite"]
      )
  end

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment