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

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
主站蜘蛛池模板: 思南县| 无极县| 九寨沟县| 白水县| 阳谷县| 南溪县| 达州市| 陆丰市| 昆明市| 墨竹工卡县| 贵溪市| 江孜县| 若尔盖县| 武汉市| 将乐县| 拜城县| 揭西县| 敦化市| 盐池县| 平阳县| 荃湾区| 奉化市| 余姚市| 集安市| 潞城市| 泗阳县| 山西省| 宜黄县| 新河县| 绿春县| 和硕县| 廉江市| 西充县| 石屏县| 奉贤区| 清原| 开鲁县| 乐昌市| 哈尔滨市| 义乌市| 临颍县|