简体   繁体   English

量角器:如何像我们在 java getText.trim() 中使用的那样从字符串中删除额外的空间

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

How to remove extra space from string just like we use in java getText.trim() in Protractor ,如何像我们在Protractor中的java getText.trim()中使用的那样从字符串中删除额外的空间,
I used like this:我是这样用的:

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

but i got error: Object [object Object] has no method 'trim'但我收到错误: Object [object Object]没有方法“修剪”

Andreas' solution is basically correct.安德烈亚斯的解决方案基本上是正确的。 I'm just appending some additional info.我只是附加一些额外的信息。

I'm not sure what you're using the trim for, but我不确定你用修剪做什么,但是

1) if you're trying to put it into an assertion: 1)如果你想把它放到断言中:

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

or simply或者干脆

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

2) If you want a promise that returns the trimmed value 2)如果你想要一个返回修剪后的值的承诺

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

The getText() method returns a Promise object. getText()方法返回一个 Promise 对象。 You need to do like this to get the string:您需要这样做才能获取字符串:

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

If you look at the error you got you will see that it's trying to access the method trim() of an object, not a string.如果你查看你得到的错误,你会发现它试图访问一个对象的方法trim() ,而不是一个字符串。

使用 async/await,您可以像这样解析 promise 并直接调用trim()

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM