Search code examples
javascriptnode.jswebdriveres6-promisewebdriver-io

Javascript looping elements using webdriverIO


* New to Javascripting *

How can I loop elements when I get a list of elements in Javascript. Below is how I would do in Java but not sure how I will do with Java scripting.

List<WebElement> elements = driver.findElements(By.xpath("//div[@id='container']"));    
        System.out.println("number of elements: " + elements.size());

        for(WebElement ele : elements){
            //ele.sendKeys("value");
            System.out.println(ele.getText());
            //System.out.println(ele.getAttribute("id"));
            //System.out.println(ele.getTagName());
        } 

I am able to get elements using browser.elements. But I am unsure how I can loop it.

Thanks. Kindly help.


Solution

  • The equivalent in webdriverio would be like this:

    var elements = browser.elements("//div[@id='container']");
    
    elements.value.forEach(function(el) {
      console.log(browser.elementIdText(el.ELEMENT).value);
    });