使用Selenium3.141.59时@FindBy注解提示无法解析为类型怎么办
问题成因
Selenium 3.141.59版本的selenium-java核心依赖中,没有内置@FindBy注解所属的PageFactory相关模块:
@FindBy、@FindBys这类UI元素定位注解,以及配套的PageFactory初始化工具,在3.x版本中单独存放在selenium-support依赖包中,selenium-java不会默认传递引入该依赖,因此仅引入selenium-java时就会报类型无法解析的错误。- Selenium 4.x版本开始,官方将
selenium-support模块直接整合进了selenium-java核心依赖中,因此升级到4.x版本后不需要额外引入其他包就可以直接使用@FindBy注解。
不升级版本的解决方法
不需要升级Selenium核心版本,按以下步骤调整即可:
- 在pom.xml中额外引入同版本的
selenium-support依赖:
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-support</artifactId> <version>3.141.59</version> </dependency>
- 确认注解的导入路径正确,正确导入语句为:
import org.openqa.selenium.support.FindBy;
- 检查注解拼写是否符合要求,注解为驼峰格式
@FindBy,字母F、B均为大写,拼写错误也会触发同类报错。
内容的提问来源于stack exchange,提问作者prasad
相关产品推荐
相关产品推荐

