Protractor:How 从字符串中删除额外的 space 就像我们在 java getText.trim() 中使用的一样

Protractor:How to remove extra space from string just like we use in java getText.trim()

如何从字符串中删除额外的 space 就像我们在 Protractor,
I 中使用的 java getText.trim()像这样使用:

var columnvalue=rows.get(9).getText();
var columnvalue1=columnvalue.trim();

但是我得到了错误: Object [object Object] 没有方法 'trim'

getText() 方法 returns 一个 Promise 对象。您需要这样做才能获取字符串:

rows.get(9).getText().then(function(text) {
  console.log(text.trim());
});

如果您查看收到的错误,您会发现它正在尝试访问对象的方法 trim(),而不是字符串。

Andreas 的解决方案基本正确。我只是附加一些额外的信息。

我不确定你用 trim 做什么,但是

1) 如果你想把它放入一个断言中:

expect(rows.get(9).getText()).toMatch('\s*STRING_TO_MATCH\s*')

或者干脆

expect(rows.get(9).getText()).toContain('STRING_TO_MATCH')

2) 如果您想要 returns trimmed 值

的承诺
var columnvalue=rows.get(9).getText();
var columnvalue1=columnvalue.then(function(text) {return text.trim();})

使用 async/await 你可以像这样解决承诺并直接调用 trim()

expect((await page.getElement().getText()).trim()).toBe('');