You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Capybara与Selenium的headless Chrome中使用剪贴板功能

报错根因

你遇到的NoMethodError: undefined method 'execute_cdp'报错是因为当前使用的Selenium WebDriver版本不支持该接口:
execute_cdp是Selenium 4.0及以上版本才新增的Chrome DevTools Protocol调用能力,你使用的3.6版本不存在该方法。


解决方案

提供两种适配不同需求的方案:

方案1:升级依赖(推荐,可直接使用CDP相关功能)

  • 升级Selenium WebDriver到4.x版本,适配你当前Ruby 2.4.10的最高可用版本为4.8.x,执行安装命令:
    gem install selenium-webdriver -v '~> 4.8.0'
  • 同步升级Chrome浏览器到90+版本,确保ChromeDriver版本和浏览器版本完全一致,避免版本不兼容问题。

方案2:不升级现有环境的替代方案

你当前使用的Chrome 74版本支持已废弃但仍可正常运行的document.execCommand方法,可以直接通过Capybara执行JS实现剪贴板操作:

  1. 模拟复制操作:
# 先选中需要复制的目标文本后执行以下代码
page.execute_script("document.execCommand('copy')")
  1. 模拟粘贴操作:
# 先聚焦到目标输入框
target_input = find('#你的输入框ID')
target_input.click
page.execute_script("document.execCommand('paste')")

内容的提问来源于stack exchange,提问作者user3636388

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 12:00:02