如何使用Selenium Webdriver查找网页上多个按钮的数量

时间:2015-05-06 13:43:46

标签: java selenium xpath selenium-webdriver

我在网页上有4个上传按钮。每个上传按钮都具有上传文件的通用功能。

我无法使用Selenium webdriver获取这些按钮的数量。 按钮的ID是:

  • buttonUpload_1
  • buttonUpload_2
  • buttonUpload_3
  • buttonUpload_4。

这些按钮的公共实体是类名buttonSecondary smallButton

我已尝试以下命令来获取计数,但无法:

List<WebElement> buttoncount = driver.findElements(By.className(("buttonSecondary smallButton")));

List<WebElement> buttoncount = driver.findElements(By.xpath("//input[@class='buttonSecondary smallButton']"));

3 个答案:

答案 0 :(得分:2)

您也可以使用标记名来计算

List<WebElement> buttons = driver.findElements(By.tagName("button"));
int buttonCount=0;
for(WebElement a : buttons){        
    if(a.getText().equals("buttonName")){
          buttonCount++;
}   
    System.out.println(buttonCount);
}

答案 1 :(得分:1)

您可以使用By.xpath定位器,starts-with()函数解析它并获取size()

List<WebElement> buttons = driver.findElements(By.xpath("//button[starts-with(@id, 'buttonUpload_')]"));
System.out.println(buttons.size());

答案 2 :(得分:0)

如果你的所有按钮都有相同的类或xpath,就像你所讨论的那样,那么你可以获得如下的总按钮数:

 System.out.Println(buttoncount.size());

Size()将返回总数。按钮。