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

如何让WebDriver JS/TS自动启动Zoom无需用户交互(Edge环境)

问题描述

使用JS/TS版WebDriver脚本访问Zoom官网、进入会议页面并点击“Launch Meeting”按钮时,会弹出以下确认提示框:

This site is trying to open Zoom Meetings.

https://us04web.zoom.us wants to open this application

[ ] Always allow us04web.zoom.us to open links of this type in the associated app

已知Java/Chrome环境下可通过配置ChromeOptions的实验性偏好设置解决该问题,但WebDriver JS环境中没有setExperimentalOption方法,需实现Edge浏览器环境下自动允许启动Zoom、无需手动确认的逻辑。

解决方案

由于Edge基于Chromium内核,可通过配置浏览器偏好设置直接指定允许特定源启动Zoom协议,具体实现代码如下:

代码示例(TypeScript)

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

async function initEdgeDriver() {
  // 创建Edge浏览器配置实例
  const edgeOptions = new EdgeOptions();

  // 配置协议处理规则:允许us04web.zoom.us启动zoommtg协议
  const browserPrefs = {
    protocol_handler: {
      allowed_origin_protocol_pairs: {
        'https://us04web.zoom.us': {
          zoommtg: true
        }
      }
    }
  };

  // 将偏好设置应用到Edge配置
  edgeOptions.setUserPreferences(browserPrefs);

  // 初始化并返回Edge驱动
  return await new Builder()
    .forBrowser('MicrosoftEdge')
    .setEdgeOptions(edgeOptions)
    .build();
}

// 使用示例
const driver = await initEdgeDriver();

代码说明

  • 核心逻辑是配置protocol_handler.allowed_origin_protocol_pairs,指定https://us04web.zoom.us源有权限通过zoommtg协议调用Zoom客户端。
  • 在JS/TS版的Selenium WebDriver中,通过EdgeOptions的setUserPreferences方法设置浏览器偏好,替代Java版的setExperimentalOption。
  • 配置生效后,点击“Launch Meeting”按钮时会直接启动Zoom客户端,不会再弹出确认提示框。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 06:01:17