Angular 如何在不使用XPath的情况下在量角器中读取表中的特定行?

Angular 如何在不使用XPath的情况下在量角器中读取表中的特定行?,angular,jasmine,protractor,Angular,Jasmine,Protractor,我正在尝试编写一个量角器测试,检查下面标记内的数字: 我设法使用下面的第n个子项使它为1工作: element(by.css('td:nth-child(4)')).getText().then((text) => { console.log('Text', text); }); 但是如果表中有多行,它只打印第一行 有人能告诉我需要做哪些更改,以便我查看表中的每一行并打印第四个子行吗?使用element.all() 从你粘贴的内容来看,从本质上看并没有任何问题;在等待myVal

我正在尝试编写一个量角器测试,检查下面
标记内的数字:

我设法使用下面的第n个子项使它为1工作:

element(by.css('td:nth-child(4)')).getText().then((text) => {
    console.log('Text', text);
});
但是如果表中有多行,它只打印第一行

有人能告诉我需要做哪些更改,以便我查看表中的每一行并打印第四个子行吗?

使用
element.all()


从你粘贴的内容来看,从本质上看并没有任何问题;在等待
myValue
点击Hi@JoaquinCasco之后,测试将在5000毫秒后超时。谢谢您的评论。我已经更新了我的代码,以检查
的可见性,而不是
元素是否可选择
&测试现在通过了。但是我现在得到了一个不同的错误,我用这个问题更新了我的代码。这是因为
visibilityOf
假设元素存在于html中,这就是它找不到它的原因。在等待其可见性/可点击性之前,您可能希望添加
presenceOf
,因此我已将
visibilityOf
更新为
presenceOf
&仍然会收到相同的错误消息使用css
:nth-child()
,但有时您无法避免xpath
element.all(by.css('tr > td:nth-child(4)')).getText().then((texts) => {
    // texts is a string array, includes the 4th column values
    console.log('Text', texts);
});

// or use element.all().each() 
element.all(by.css('tr > td:nth-child(4)')).each((it)=>{
  it.getText().then((text)=>{
    console.log('Text', texts);
  })
});