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的元素都放在集合中进行定位并执行点击选择操作。