我试图仅从html元素获取原始文本。例如:
<h1>This is a <br> Test</h1>
我希望能够将<h1>
内的文字减去<br>
....
this is a Test
我试过了:
browser.driver.findElement(By.tagName('h1')).getAttribute('textContent');
browser.driver.findElement(By.tagName('h1')).getAttribute('innerHTML');
browser.executeScript("return arguments[0].innerHTML;", element(locator));
我没有看到getAttribute('textContent')
无法正常工作的原因,我认为这是获取原始文本的最简单方法。
我知道在过去的几个版本中,角度调整器的角度发生了一些重大变化,导致我使用browser.executeScript
。
更新
如果您直接将其与量角器一起使用,请发布解决方案。
答案 0 :(得分:1)
这应该有用。
element(by.css('h1')).getText().then((value: string) => {
const val: string = value.replace(/[\n\r]/g, '');
});
并将突出Andrew Lohr发布的内容。请务必查看docs:)
答案 1 :(得分:0)
到目前为止,答案还没有解决只收到<br>
的文本。
Yong的回应是让我走上寻找解决方案的道路。
对于那些感兴趣的人。最简单的方法是获取文本并使用replace
来改为使用空格切换<br>
。
element(by.(xxx)).getText().then(function(text) {
text = text.replace(replace(/(\r\n|\n|\r)/gm," ");
console.log(text);
});