如何使用量角器从表格中获取一行及其列 [英] How to get a row and its column from a table with Protractor

查看:50
本文介绍了如何使用量角器从表格中获取一行及其列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

<表格><tr><td>row1Col1</td><td>row1Col2</td><td>row1Col3</td></tr><tr><td>row2Col1</td><td>row3Col2</td><td>row4Col3</td></tr><tr><td>row3Col1</td><td>row3Col2</td><td>row3Col3</td></tr></tbody>

var grid = element.all(by.css('.k-grid-content tr'));//这将返回row1,row2,row3

但我无法使用下面的代码来获取每一行及其列.

grid.each.each(function(row){var rowElems = row.findElements(by.tagName('td'));期望(rowElems.get(0).getText()).toMatch('/Col1/');});

显示以下错误消息.信息:类型错误:对象 [object Object] 没有方法 'findElements'

解决方案

你的 grid 设置没问题,但为了捷径:

var grid = $$('.k-grid-content tr');

关于您的问题,请避免使用 findElements 并使用链接 element 或在这种情况下使用 all 量角器功能.但我会再次使用 $$ 快捷方式:

grid.each(function(row) {var rowElems = row.$$('td');期望(rowElems.count()).toBe(3);期望(rowElems.get(0).getText()).toMatch('/Col1$/');});

<div class="k-grid-content">
    <table>
        <tbody>
            <tr>
                <td>row1Col1</td>
                <td>row1Col2</td>
                <td>row1Col3</td>
            </tr>

            <tr>
                <td>row2Col1</td>
                <td>row3Col2</td>
                <td>row4Col3</td>
            </tr>

            <tr>
                <td>row3Col1</td>
                <td>row3Col2</td>
                <td>row3Col3</td>
            </tr>

        </tbody>
    </table>
</div>


var grid = element.all(by.css('.k-grid-content tr')); //this will return row1,row2,row3

but I am unable to use code below to get each row and its column.

grid.each.each(function(row){
    var rowElems = row.findElements(by.tagName('td'));
    expect(rowElems.get(0).getText()).toMatch('/Col1/');
});

the following error message is displaying. Message: TypeError: Object [object Object] has no method 'findElements'

解决方案

Your grid setup is ok, but for the sake of a shortcut:

var grid = $$('.k-grid-content tr');

Regarding your question, avoid findElements and use chaining element or in this case all Protractor feature. But I'll use $$ shortcut again:

grid.each(function(row) {
  var rowElems = row.$$('td');
  expect(rowElems.count()).toBe(3);
  expect(rowElems.get(0).getText()).toMatch('/Col1$/');
});

这篇关于如何使用量角器从表格中获取一行及其列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆