HTML Coded snippet is here如何在量角器选择第二个对象与相同的类名第二个元素
用量角器,当我写了下面的代码,我只能从第一个匹配的类选择3件
var items = element(by.css('.swatches.swatches_size.swatches_find-box')).all(by.tagName('label'));
items.get(2).click();
从第二个匹配类中选择第二个元素的方法是什么?
的代码片段是添附图像
HTML Coded snippet is here如何在量角器选择第二个对象与相同的类名第二个元素
用量角器,当我写了下面的代码,我只能从第一个匹配的类选择3件
var items = element(by.css('.swatches.swatches_size.swatches_find-box')).all(by.tagName('label'));
items.get(2).click();
从第二个匹配类中选择第二个元素的方法是什么?
的代码片段是添附图像
在其element.all(by.css('.swatches.swatches_size.swatches_find-box')).each(function (element, index) {
你可以链element()
和all()
:
$$('.swatches.swatches_size.swatches_find-box').get(1).all(by.tagName("label")).get(1);
其中$$
是一个捷径element.all(by.css("..."))
。
或者,另一种方法是用nth-of-type
和nth-child
伪类的帮助下使用一个CSS选择器:
$(".swatches.swatches_size.swatches_find-box:nth-of-type(1) label:nth-child(1)")
感谢您的答复。这是我做选择第二匹配DIV的第三个要素:
element.all(by.css('.swatches.swatches_size.swatches_find-box label')).
each(function(element, index) {
element.getText().then(function(text) {
if (text === waist) {
element.click();
}
if (text === length) {
element.click();
}
});
});
相反的.get(1)
,.get(2)
,.get(3)
,等等。现在你可以使用更可读的功能,如.second()
,.third()
,.fourth()
等等 - 我开发了一个小包装 - https://github.com/Marketionist/protractor-numerator - 可以与量角器一起使用来选择第二,第三,第四等元素。
因此,适用于你的情况(选择从第二匹配类的第二个元素),这将是更具可读性和看起来像这样:
var itemSecond = element.all(by.css('.swatches.swatches_size.swatches_find-box')).second().all(by.tagName('label')).second();
itemSecond.click();
说明你所做的更改和修复你应用。仅仅发布代码是不够的。 – Bassem