如何使用量角器单击几乎相同 class 的按钮?
How to click at button with almost same class using Protractor?
我有几个带有两个 classes 的按钮:
<button _ngcontent-c39="" class="btn btn-block"></button>
<button _ngcontent-c39="" class="btn btn-block btn-primary"></button>
我需要点击所有带有 class "btn btn-block" 的按钮,但不想点击带有 class 的按钮"btn btn-block btn-primary"。
我已经试过了:
element.all(by.css('.btn.btn-block')).click();
但是量角器点击了这两个按钮。
我已经尝试使用 class名称定位器,但量角器找不到该元素。
element.all(by.className('.btn.btn-block)).click();
我能想到的最简洁的方法是进行正则表达式检查。
element(by.all('.btn-block')).each(function(element)
{
let tmp = element.getAttribute('class');
if(/^btn btn-block$/.test(tmp)) element.click();
}
基本上这将循环遍历每个具有 .btn-block
class 的元素,然后检查以确保它完全具有 btn btn-block
,如果有,则单击该元素.
只需使用 each()
方法并单击每个不包含 btn-primary
class.
的按钮
var allButtons = element.all(by.css('.btn.btn-block'));
allButtons.each((button) => {
button.getAttribute('class').then((buttonClass) => {
if (!buttonClass.includes('btn-primary')) {
button.click();
}
});
})
我用过:
element.all('button[class="btn btn-block"]').each(function(element){
element.click();
});
并工作。
我有几个带有两个 classes 的按钮:
<button _ngcontent-c39="" class="btn btn-block"></button>
<button _ngcontent-c39="" class="btn btn-block btn-primary"></button>
我需要点击所有带有 class "btn btn-block" 的按钮,但不想点击带有 class 的按钮"btn btn-block btn-primary"。 我已经试过了:
element.all(by.css('.btn.btn-block')).click();
但是量角器点击了这两个按钮。 我已经尝试使用 class名称定位器,但量角器找不到该元素。
element.all(by.className('.btn.btn-block)).click();
我能想到的最简洁的方法是进行正则表达式检查。
element(by.all('.btn-block')).each(function(element)
{
let tmp = element.getAttribute('class');
if(/^btn btn-block$/.test(tmp)) element.click();
}
基本上这将循环遍历每个具有 .btn-block
class 的元素,然后检查以确保它完全具有 btn btn-block
,如果有,则单击该元素.
只需使用 each()
方法并单击每个不包含 btn-primary
class.
var allButtons = element.all(by.css('.btn.btn-block'));
allButtons.each((button) => {
button.getAttribute('class').then((buttonClass) => {
if (!buttonClass.includes('btn-primary')) {
button.click();
}
});
})
我用过:
element.all('button[class="btn btn-block"]').each(function(element){
element.click();
});
并工作。