Aurelia e2e:text.indexOf()不正确地比较string和div中包含的string
我试图检查包含在div标题中的文本是否与我的text.indexOf()函数中的内容匹配,如果是,它将在控制台上输出“true”,如果不是,它将打印“假'。 我不想检查文本是否完全匹配,我只想看看“EUR”是否包含在Div内。 这是我的页面对象文件中的代码
this.checkIfEur = function(eur) { var checkCurrency = element(by.className("ml-sm")); checkCurrency.getText().then(function (text) { if (text.indexOf("EUR">= 0)) { console.log("true"); } else if (text.indexOf("EUR"<= 0)){ console.log("false"); } }); };
<div class="currencies"> <span>Opening Currency</span> <span class="ml-sm"> <b>EUR 1,000</b> </span><span class="ml-sm">` <b>GBP 5,000</b> </span><!--anchor--> </div>
问题是,如果我用zzzzzzz
replaceEUR
,控制台仍然会打印“true”。 我想要被接受的文本似乎并不重要,它总是会打印出真实的。
我可能做这个完全错误的,任何帮助表示赞赏
代替
if (text.indexOf("EUR">= 0))
应该是(注意封闭父母的地位)
if (text.indexOf("EUR")>= 0)
更具体地说,如果你想检查“EUR”是否在一个string中,而你正在使用它
if (text.indexOf("EUR") >= 0) { console.log("true"); } else if (text.indexOf("EUR") <= 0){ console.log("false"); }
你可以更好地使用这个
if (text.indexOf("EUR") > -1) { console.log("true"); } else{ console.log("false"); }
或者如果你只想logging结果,你可以这样做
console.log("Found EUR in string:", text.indexOf("EUR") > -1);
,另请参阅indexOf的示例