I am using webdriver.io with chai and mocha for testing.

In one of my tests I need to count how many elements with the same CSS class are in the page. None of the webdriver.io API seems to return an array.

How can it be achieved?

有帮助吗?

解决方案

This is how you do it:

client.elements('.myElements', function(err,res) {
    console.log('element count: ',res.value.length);
});

Explanation: with elements you fetch all elements according given selector. It returns an array of webdriver elements which represents the amount of existing elements on the page.

其他提示

For version 4 of webdriver.io, this is the way

client.elements('.selector').then(function (elems) {
    console.log(elems.value.length);
});

For version 7.13.2 of webdriver.io, you can try this

 const count = await $$('selector').length

Or you can write to a variable and later use it

let smth = browser.elements('selector').value.length;
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top