سؤال

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