java—如何使用web驱动程序选择具有相同x路径的多个web元素

yqyhoc1h  于 2021-07-07  发布在  Java
关注(0)|答案(3)|浏览(320)

我正在使用selenium构建一个javabot,以便自动化一个进程,但遇到了一些问题。有5个下拉菜单,我需要在其中选择“全选”,但“全选”按钮有相同的xpath和类名为每个下拉,所以系统无法识别。我附上了一张照片,你可以看到下拉列表。请如果你知道我如何选择这些元素,这将是伟大的。

select all的xpath作为 = "//*[@id=\"capability-filter\"]/div[2]/div[1]"

luaexgnf

luaexgnf1#

正如您所说的,有5个下拉菜单,所以在for循环中指定的大小是5

for(int i = 1 ; i<=5 ; i++){
  driver.findElement(By.xpath((("//*[@id=\'capability-filter']/div[2]/div)["+i+"]")))).click();
  }
  Hope above code will help you
a7qyws3x

a7qyws3x2#

您可以使用以下代码:

List<WebElement> ele = driver.findElements(By.xpath("//*[@id=\"capability-filter\"]/div[2]/div[1]"));

for(WebElement e: ele){

String drop = e.getText.toString();
if(drop.equalsIgnoreCase("Select All")){
    e.click();
    break;  
}
k4ymrczo

k4ymrczo3#

如果它们都具有相同的xpath,则可以尝试在此处使用索引,然后使用:

(//*[@id="capability-filter"]/div[2]/div1)[1]

这将从列表中选择第一个元素。

相关问题