简体   繁体   中英

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 ,
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'

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:

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

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

The getText() method returns a Promise object. 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.

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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