Selenium-java,联级菜单选择

本文讲述了使用Selenium进行网页自动化测试时,如何通过CSS选择器定位并点击不同类型的联级菜单(select和input标签),以及为何无法直接使用ID定位,需依赖class属性进行操作的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、联级菜单标签一般分为两种,一直是select标签形式,这种很简单,如下图所示

2、还有一种是非select标签形式的,目前我遇到的输入框就是intput标签,联级选项框在另一个div窗口中;

如下图

3、解决思路是,通过class来定位选项元素,通过get()函数获取下标来执行点击操作代码如下

//定位联级菜单输入框
WebElement selects = driver.findElement(By.cssSelector(".el-cascader--small .el-input__inner"));
//点击联级菜单输入框,使其出现选择弹窗
selects.click();//点击下拉选
Thread.sleep(2000);
//通过.findElements()函数将所有同为class的元素放在集合中并通过下标来进行点击第一级菜单
driver.findElements(By.className("el-cascader-node__label")).get(3).click();
Thread.sleep(2000);
//通过.findElements()函数将所有同为class的元素放在集合中并通过下标来进行点击第二级菜单
driver.findElements(By.className("el-cascader-node__label")).get(31).click();
Thread.sleep(2000);

4、我看到在联级选择框中的元素有ID,但是却无法通过ID进行定位,只能将class的元素都放在集合中进行定位并执行点击选择操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值