我正在尝试基于同级文本单击按钮。
<li ng-repeat="list in lists" ng-if="!includes(list)" class="ng-scope">
<span class="ng-binding">
<button type="submit" class="btn btn-primary" ng-click="useList(list)">Use</button>
test
</span>
<span class="ng-binding">
<button type="submit" class="btn btn-primary" ng-click="useList(list)">Use</button>
test2
</span>
</li>
如上面的代码所示,基于test或test2,我想相应地单击按钮。我该如何实现?
答案 0 :(得分:1)
我将编写一些代码,该代码需要一个变量myText
并单击按钮;无论您以问题中显示的格式重复多少个span元素,这都应该起作用。
let buttons = element.all(by.css('button'));
for (var button in buttons) {
WebElement parent = (WebElement) ((JavascriptExecutor) driver).executeScript(
"return arguments[0].parentNode;", button);
if (parent.getText() == myText) {button.click()};
}
答案 1 :(得分:0)
尝试以下一种
select(text:string){
const ele = element.all(by.css('li > span > button');
for(i=0;i< ele.count();i++){
if(ele.get(i).getText() === text){
ele.get(i).click();
}
}
将您想要单击的按钮的值传递给上述功能。
希望它对您有帮助