目前,我有一个HTML页面,其中包含项目列表,并且每个项目都有一个按钮。
在此处查看我的HTML(项目示例,后跟按钮):https://pastebin.com/Ne4yrC7D
我正在使用以下功能:
basePage.js
this.listAndClick = function(optionList, foundText) {
optionList.filter(function(elm, index) {
return elm.getText().then(function(text) {
console.log(text);
return text === foundText;
});
}).first().element(by.css('.ui-button')).click();
};
this.clientsList = element.all(by.css('.ui-cell-data'));
mySpec.js
basePage.listAndClick(basePage.clientsList, 'client zero');
到目前为止,我的功能是过滤页面上的所有项目,但问题是单击与文本对应的按钮不起作用。
任何人都可以帮忙吗?
答案 0 :(得分:0)
请尝试以下逻辑。
根据您共享的html,所有元素都与CSS为span.ui-cell-data
的类一起使用,CSS是下面使用的“ ArrayElement”。
selectElement(text: String) : any {
for(int i=o;i< ArrayElement.length();i++)
{
if(ArrayElement.get(i).toEqual(text)){
ArrayElement.get(i).click()
}}
现在只需从规格文件中传递selectElement('client zero')
。
注意:在提供的解决方案中使用了打字稿。