使用量角器,在编写以下代码时,我只能从第一个匹配的类中选择第三个元素
var items = element(by.css('.swatches.swatches_size.swatches_find-box')).all(by.tagName('label'));
items.get(2).click();
从第二个匹配类中选择第二个元素的方法是什么?
代码段位于附件中
答案 0 :(得分:0)
其element.all(by.css('.swatches.swatches_size.swatches_find-box')).each(function (element, index) {
答案 1 :(得分:0)
您可以链 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)")
答案 2 :(得分:0)
感谢您的回复。以下是我选择第二个匹配DIV的第三个元素的方法:
486406789.415.py", line 6
if hrs <= 40
^
SyntaxError: invalid syntax
答案 3 :(得分:0)
而不是.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();