如何使用Selenium Webdriver - Java查找网页上显示的复选框总数?

时间:2013-07-01 09:14:20

标签: java selenium webdriver

环境:使用Java的Selenium Webdriver

1)运行搜索
2)搜索后,将显示5个项目,并带有5个复选框 3)我想得到复选框的数量 4)复选框的类名为“复选框”

请建议

谢谢!

3 个答案:

答案 0 :(得分:5)

最快最简单的方法是通过您提供的className查找复选框元素的列表。

List<WebElement> boxes = driver.findElements(By.className("checkbox"));
int numberOfBoxes = boxes.length();

如果您想要每个搜索结果的复选框数,则需要为每个结果循环。

List<WebElement> results = driver.findElements(By.xpath("//relevant_xpath_from_your_html"));
for (Webelement result : results){
     List<WebElement> boxes = result.findElements(By.className("checkbox"));
     int numberOfBoxes = boxes.length()
}

答案 1 :(得分:0)

以下内容将显示页面上存在的所有复选框

System.out.println(
    driver.findElements(By.cssSelector("input[type='checkbox']")).size()
); 

答案 2 :(得分:0)

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;

public class Checkbox {

    public static void main(String[] args) throws InterruptedException {
        System.setProperty("webdriver.chrome.driver", "E:\\java\\WebDriver\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("https://rahulshettyacademy.com/AutomationPractice/");
        driver.findElement(By.cssSelector("input[id='checkBoxOption1']")).click();//select checkbox 1
        Assert.assertTrue(driver.findElement(By.cssSelector("input[id='checkBoxOption1']")).isSelected());//validated checkbox selection
        
        //Thread.sleep(4000);//delay process to see the check and uncheck activity

        driver.findElement(By.cssSelector("input[id='checkBoxOption1']")).click();//deselect checkbox 1
        Assert.assertFalse(driver.findElement(By.cssSelector("input[id='checkBoxOption1']")).isSelected());//validated checkbox deselection
        
        //to get checkbox counts on the page.
        System.out.println("The checkbox count is "+ driver.findElements(By.cssSelector("input[type='checkbox']")).size());//select checkbox 1

    }

}