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

如何在Selenium WebDriver(Javascript+Grunt)自动化测试中启用剪贴板权限?

问题

如何在基于Selenium WebDriver、Javascript和Grunt的自动化测试中启用/允许剪贴板权限弹窗?

已尝试使用--enable-clipboard、--enable-clipboard-features启动参数,以及配置chromeOptions的剪贴板偏好设置,但均无效果。相关尝试代码如下:

import { Builder, Capabilities } from 'selenium-webdriver';

const chromeOptions = {
  // args: ['--enable-clipboard']
  args: ['--enable-clipboard-features']
};

const driver = await new Builder()
  .withCapabilities(Capabilities.chrome())
  .setChromeOptions(chromeOptions)
  .build();

另一段无效的配置代码:

capabilities: {
    'browserName': 'chrome',
    'chromeOptions': { 'desiredCapabilities/goog:chromeOptions/prefs/profile.content_settings.exceptions.clipboard', {
            '[*.],*': { last_modified: '1576491240619', setting: 1 },
        }
      }
    }
  }
解决方案

以下是适配新版Selenium和Chrome浏览器的有效配置方法:

  • 修正剪贴板权限偏好配置路径
    旧版的权限存储路径已被调整,需改用profile.content_settings.exceptions.clipboard_content_setting,同时保证参数结构正确。示例代码:

    import { Builder, Capabilities } from 'selenium-webdriver';
    
    const chromeOptions = {
      prefs: {
        'profile.content_settings.exceptions.clipboard_content_setting': {
          '[*.],*': {
            'setting': 1, // 1=允许,2=阻止,0=询问弹窗
            'last_modified': Date.now()
          }
        }
      }
    };
    
    const driver = await new Builder()
      .withCapabilities(Capabilities.chrome())
      .setChromeOptions(chromeOptions)
      .build();
    
  • 组合启动参数确保弹窗正常触发
    搭配弹窗拦截禁用参数和剪贴板权限参数,避免浏览器自动屏蔽弹窗:

    const chromeOptions = {
      args: [
        '--disable-popup-blocking',
        '--enable-clipboard-features=clipboard-read,clipboard-write'
      ],
      prefs: {
        'profile.default_content_setting_values.clipboard': 0 // 0表示触发询问弹窗
      }
    };
    
  • Grunt环境下的W3C标准配置
    新版Selenium遵循W3C规范,需将chromeOptions嵌套在goog:chromeOptions下,Grunt配置示例:

    grunt.initConfig({
      selenium: {
        options: {
          capabilities: {
            browserName: 'chrome',
            'goog:chromeOptions': {
              args: ['--disable-popup-blocking'],
              prefs: {
                'profile.content_settings.exceptions.clipboard_content_setting': {
                  '[*.],*': { setting: 0, last_modified: Date.now() }
                }
              }
            }
          }
        }
      }
    });
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 01:40:19