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

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
主站蜘蛛池模板: 博爱县| 玉树县| 乌拉特中旗| 宣城市| 郯城县| 衡南县| 西平县| 普定县| 华池县| 贺兰县| 新化县| 邳州市| 彩票| 洱源县| 株洲市| 仙居县| 射洪县| 烟台市| 康保县| 醴陵市| 桃园市| 大悟县| 武山县| 娄烦县| 虞城县| 大连市| 余庆县| 游戏| 新密市| 静宁县| 温宿县| 娄底市| 东阿县| 兴宁市| 禄丰县| 中江县| 湾仔区| 武邑县| 漠河县| 华坪县| 河西区|