gpt4 book ai didi

javascript - Protractor 的 cssContainingText 无法使用 RegExp 找到元素

转载 作者:行者123 更新时间:2023-11-30 09:25:55 25 4
gpt4 key购买 nike

我正在使用 JavaScript 和 Protractor 编写一些测试。比如说,我想找到 class="main-class"的元素,如下例所示:

<div class="main-class">
...
<div class = "some-class">Search Line</div>
...
</div>

按此元素的子元素的文本 - 子元素可以具有不同的属性和值。文本存储在变量中,也由于某些情况我必须找到完全匹配。我正在尝试这样做:

let text = 'Search Line';
let getElement= function(text) {
let reg = new RegExp('^'+text+'$');
return element(by.cssContainingText('.main-class', reg))}

但我总是得到同样的错误:

No element found using locator: by.cssContainingText(".main-class", "/^Search Line$/")

如果我将 reg 更改为 'some string' - 一切正常。似乎 cssContainingText 不适用于我的正则表达式,尽管 Protractor 文档说它可以通过正则表达式搜索:http://www.protractortest.org/#/api?view=ProtractorBy.prototype.cssContainingText

你能告诉我,我做错了什么吗?

最佳答案

by.cssContainingText 自 Protractor 5.2.1 起支持 RegExp ,如果您的 Protractor 低于 5.2.1,则正则表达式将被视为字符串并使用 string.indexOf(),而不是使用 RegExp.test()

enter image description here

关于javascript - Protractor 的 cssContainingText 无法使用 RegExp 找到元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49113068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com