我想看看 div 中包含的 span 中包含的文本是否包含特定文本。
这是 HTML:
<div class="funds">
<span>banking</span>
<span class="m-l-sm">
<b>EUR 1,000</b>
</span><!--anchor-->
</div>
我想检查是否 <span class="m-l-sm">
包含“欧元”。
我尝试执行此操作的一种方法(以及其他几种方法)是:
var checkFunds = element(by.id("m-l-sm"));
if (checkFunds.getText().toContain('EUR'&'GBP')) {
//do something
}
我收到一条错误消息 .toContain()
不是一个函数。
我有点不知道如何继续。
.toContain()
is a Jasmine matcher's method 。它通常用于断言,例如:
expect(checkFunds.getText()).toContain('EUR');
因为如果您在字符串中看到子字符串,看起来您实际上想要执行某些操作 - 您需要获取元素的实际文本,这意味着您需要解析 .getText( 返回的 promise ) )
。然后,您可以检查子字符串 EUR
是否在文本内:
var checkFunds = element(by.id("m-l-sm"));
checkFunds.getText().then(function (text) {
if (text.indexOf('EUR') >= 0) {
// do something
}
});
我是一名优秀的程序员,十分优秀!