Angular 角度量角器如何使用findElements(按.tagName)获取tr中的所有td

Angular 角度量角器如何使用findElements(按.tagName)获取tr中的所有td,angular,typescript,protractor,Angular,Typescript,Protractor,我是角度+量角器自动测试的新手。我试图循环遍历html表的行,并希望获得该行的每一列值。使用以下代码但不工作 $$('#mat-tab-content-0-2 > div > app-pick-loss-method > div.data-table-container.table > table > tbody').$$('tr').each(function (el, index) { if (index > 0) { el.findEleme

我是角度+量角器自动测试的新手。我试图循环遍历html表的行,并希望获得该行的每一列值。使用以下代码但不工作

$$('#mat-tab-content-0-2 > div > app-pick-loss-method > div.data-table-container.table > table > tbody').$$('tr').each(function (el, index) {
  if (index > 0) {
    el.findElements(by.tagName('td')).then(function (cols) {
      console.log('Subline: ', cols[0].getText());
      console.log('Cat Indicator: ', cols[1].getText());
      console.log('Method: ', cols[2].getText());
      console.log('ELC: ', cols[3].getText());
      console.log('Selected CV: ', cols[4].getText());
      console.log('Weight: ', cols[5].getText());
    });
  }
})
有人能帮助我们吗?正确的方法是什么


谢谢

如果您想查找所有HTML标记,我认为您无法通过tagName()找到它。试着这样做:

el=element.all(by.css('mat-tab-content-0-2td');
el.getText().then((文本)=>{
for(设i=0;i})
如果您将代码中出现的错误包括在内,将非常有用,但无论如何,请尝试更改以下行:

.findElements
.all

el.findElements(按.tagName('td'))。然后(函数(cols){

应该是:

el.all(by.tagName('td'))。然后(function(cols){

只要停止使用
。然后()
语法,使用
async/await
,一切都会很简单。类似这样的

let tableRows = $$('#mat-tab-content-0-2 > div > app-pick-loss-method > div.data-table-container.table > table > tbody tr');
let rowCount = await tableRows.count();

for (let i = 0; i < rowCount; i++) {
  let cells = tableRows.get(i).all(by.css("td"));
  let cellCount = await cells.count();

  for (let j = 0; j < cellCount; j++) {
    console.log('Cell ' + j + " " + await cells.get(j).getText())
  }
}
let tableRows=$$('mat-tab-content-0-2>div>app pick loss method>div.data-table-container.table>table>tbody tr');
let rowCount=wait tableRows.count();
for(设i=0;i
行tableRows.get(i).element.all(by.css(“td”))中出错;类型ElementFinder上不存在all