如何在JavaScript中获得HTML元素的数量并将其转换为字符串

How to get number of HTML elements in JavaScript and put it to string

本文关键字:字符串 转换 元素 JavaScript HTML      更新时间:2023-09-26

html来源:

<ul id="dropdownSelectRole" class="dropdown-menu" role="menu"> <li><a href="#"></a></li> <li><a href="#">Admin</a></li> <li><a href="#">aaaa</a></li> <li><a href="#">abcd</a></li> <li><a href="#">admin</a></li> </ul>

JS代码:

'should verify counter on active tab': function (browser) {
    //Given
    var welcome = browser.page.welcome();
    var users = browser.page.users();
    //When
    welcome.click('@usersButton');
    var count = users.size.element('@table');
    //Then
    users.expect.element('@activeTab').contains.text(count);
},

我的代码不工作,仍然得到TypeError: Cannot read property 'element' of undefined或TypeError: undefined不是一个函数。

我需要的是从HTML表中获取元素的数量,并将其放在一些字符串中,以便稍后在选项卡上断言值。简单测试选项卡中显示的数字是否与记录数相关。

我使用页面对象(用户和欢迎是伪类与列出的元素选择器,@table是表的选择器与元素,@activeTab是选项卡的选择器,其中包含记录的数量)。

为了使问题简单,我需要在JS中像这样的东西JAVA:

int count = getDriver().findElements(By.xpath("//*@id='"content'"]/div/div/table/tbody/tr")).size(); String count1 = Integer.toString(count);

如果你有jQuery,你可以使用size(),或者length(如果版本大于1.8)

$(object).size(); //$(object).length

或者像这样写

var count = 0;
for(var i in object) {
    count++;
}
//If you need count only attributes (not functions)
var count = 0;
for(var i in object) {
    if(object.hasOwnProperty(i)) {
        count++;
    }
}