首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用量角器点击几乎相同类的按钮?

如何使用量角器点击几乎相同类的按钮?
EN

Stack Overflow用户
提问于 2018-08-09 05:08:22
回答 3查看 441关注 0票数 0

我有几个按钮,有两个类:

代码语言:javascript
复制
<button _ngcontent-c39="" class="btn btn-block"></button>
<button _ngcontent-c39="" class="btn btn-block btn-primary"></button>

我需要点击所有带有类"btn btn-block"的按钮,而不想点击带有类"btn btn-block btn-primary"的按钮。我已经试过了:

代码语言:javascript
复制
element.all(by.css('.btn.btn-block')).click();

但是Protractor点击了这两个按钮。我已经尝试使用className定位器,但是量角器找不到元素。

代码语言:javascript
复制
element.all(by.className('.btn.btn-block)).click();
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-08-09 23:16:42

我使用:

代码语言:javascript
复制
element.all('button[class="btn btn-block"]').each(function(element){
element.click();
});

并且成功了。

票数 0
EN

Stack Overflow用户

发布于 2018-08-09 07:04:30

我能想到的最干净的方法就是执行正则表达式检查。

代码语言:javascript
复制
element(by.all('.btn-block')).each(function(element)
{
  let tmp = element.getAttribute('class');
  if(/^btn btn-block$/.test(tmp)) element.click();
}

基本上,这将遍历包含.btn-block类的每个元素,然后检查以确保它具有确切的btn btn-block,如果有,则单击该元素。

票数 0
EN

Stack Overflow用户

发布于 2018-08-09 14:09:47

只需使用each()方法并单击不包含btn-primary类的每个按钮即可。

代码语言:javascript
复制
var allButtons = element.all(by.css('.btn.btn-block'));
allButtons.each((button) => {
    button.getAttribute('class').then((buttonClass) => {
        if (!buttonClass.includes('btn-primary')) {
            button.click();
        }
    });
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51755674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档