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

TypeScript环境下selenium-webdriver找不到WebDriverWait API问题求助

搞定TypeScript+Appium环境下WebDriverWait的导入报错

嘿,我帮你梳理下这两个报错的解决办法,都是我平时处理这类问题的实用经验:

先解决「Module has no exported member 'WebDriverWait'」的核心问题

这个报错本质是selenium-webdriver的版本和对应的TypeScript类型定义包不兼容。你装的是selenium-webdriver@3.6.0,但大概率你的@types/selenium-webdriver是适配v4+的新版本,而v4的类型定义里WebDriverWait的导出逻辑变了,导致v3的包找不到对应导出。

具体修复步骤:

  1. 先把不匹配的类型包卸载:
    npm uninstall @types/selenium-webdriver --save-dev
    
  2. 安装和selenium-webdriver@3.6.0完全匹配的类型包,亲测@types/selenium-webdriver@3.0.24刚好适配这个版本:
    npm install @types/selenium-webdriver@3.0.24 --save-dev
    
  3. 重新跑一遍TypeScript编译,这个“找不到导出成员”的错误应该就没了。

再处理「'WebDriverWait' is declared but its value is never read」

这个只是TypeScript的静态检查提示,说白了就是你导入了这个类,但代码里还没用到它。只要写点实际使用的代码,错误自动就消失了。比如:

import { WebDriverWait } from 'selenium-webdriver';
// 假设这是你初始化好的Appium Driver实例
import { driver } from './your-driver-config';

// 实例化WebDriverWait,设置10秒超时
const wait = new WebDriverWait(driver, 10000);

// 举个例子:等待某个元素被定位到
wait.until(/* 这里传入你的等待条件,比如until.elementLocated(By.id("your-element-id")) */);

额外提个小建议

如果你之后想升级到最新的selenium-webdriver(v4+),WebDriverWait的导入方式还是一样的,但要记得把@types/selenium-webdriver也升级到对应v4的版本(比如@types/selenium-webdriver@4.1.16及以上),避免再出现版本不匹配的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:28:18