无法在Selenium中找到类

无法在Selenium中找到类,selenium,Selenium,我想使用以下代码行定位下拉箭头: driver.findElement(By.className("icon-caret-down")).click(); 代码没有任何错误,但相同的类名用于它前面的另一个下拉箭头。我的脚本指向那个下拉箭头,尽管我希望它指向这个箭头 我不能使用id或xpath,因为它们是动态更改的 如果元素动态更改,则可以使用XPath,但如果您没有其他选项,下面的代码段应该会有所帮助 List<WebElement> commonElem=driver.findE

我想使用以下代码行定位下拉箭头:

driver.findElement(By.className("icon-caret-down")).click();
代码没有任何错误,但相同的类名用于它前面的另一个下拉箭头。我的脚本指向那个下拉箭头,尽管我希望它指向这个箭头

我不能使用id或xpath,因为它们是动态更改的


如果元素动态更改,则可以使用XPath,但如果您没有其他选项,下面的代码段应该会有所帮助

List<WebElement> commonElem=driver.findElements(By.className("icon-caret-down"));
for(i=0;i<commonElem.size();i++){
    if(i=1){  //instead you can also use commonElem.getText()=="TextVal";
      commonElem.click();
      break;
    }
}
List commonElem=driver.findElements(By.className(“图标插入符号向下”);

对于(i=0;ii如果多个元素具有相同的类名,请尝试使用该元素的唯一属性。如果没有,请尝试使用xpathShow
HTML
代码为同一个元素设置具有该id的所有元素(
findElements
而不是
findElement
)将给你一个元素列表。然后你可以在列表中循环并找到标识它的东西。你可以尝试的另一件事是使用css选择器,因为我猜你要定位的箭头位于不同的html标记中,而第一个我不能使用id或xpath,因为它们是动态变化的,当然你可以使用
XPath
在本例中。显示要单击的元素的
HTML
代码