官术网_书友最值得收藏!

Finding elements using the findElements method

Selenium WebDriver provides the findElements() method, using which we can find more than one element matching the specified search criteria. This method is useful when we want to work with a group of similar elements. For example, we can get all the links displayed on a page, or get all rows from a table, and so on.

In this recipe, we will get all the links and print their targets by using the findElements() method.

How to do it...

Let's create a test that will get all the links from a page, verify the count of links, and print a target for each link, as follows:

@Test
public void testFindElements() {
    //Get all the links displayed on Page
    List<WebElement> links = driver.findElements(By.tagName("a"));

    //Verify there are four links displayed on the page
    assertEquals(4, links.size());

    //Iterate though the list of links and print
    //target for each link
    for(WebElement link : links) {
        System.out.println(link.getAttribute("href"));
    }
}

How it works...

The findElements() method returns all the elements matching the search criteria as a list of WebElements.

List<WebElement> links = driver.findElements(By.tagName("a"));

The size() method of the List will tell us how many elements are there in the list:

assertEquals(4, links.size());

We can iterate by using this list in the following way, getting a link and printing its target value:

for(WebElement link : links) {
    System.out.println(link.getAttribute("href"));
}

See also

  • The Finding an element using the findElement method recipe
主站蜘蛛池模板: 偃师市| 宁晋县| 大渡口区| 铜梁县| 兴隆县| 抚松县| 黑水县| 合水县| 梅河口市| 柘城县| 微山县| 阳春市| 苍溪县| 梁平县| 合川市| 康定县| 屯昌县| 广安市| 惠来县| 西吉县| 北海市| 呈贡县| 永州市| 胶南市| 通道| 裕民县| 东乡县| 福州市| 鸡泽县| 荔波县| 榆树市| 汕头市| 平陆县| 义马市| 阿拉尔市| 庄河市| 舒兰市| 遂川县| 陆川县| 青河县| 绥芬河市|