有没有办法在同一个元素()检查量角器中检查两个不同的by.css()属性?

时间:2016-08-05 19:45:32

标签: javascript css-selectors protractor

我在带有量角器的HTML页面上测试网格中的元素。有2列和多行。目前我的代码是

browser.element(by.css('div[data-row="1"]')).element(by.css('.widget-toggle-btn')).click();

HTML:

<div data-row="1" data-col="0" ....other stuff here>
    ....(other elements)....
</div>
<div data-row="1" data-col="1" ....other stuff here>
    ....(other elements)....
</div>

但正如您所看到的,数据行1中有2列。幸运的是,我想要的是&#39; data-col =&#34; 0&#34;&#39;,但我不是&# 39;看到了一种方法来进入&quot; data-col =&#34; 1&#34;&#39;中的toggle-btn。网格是对称的,因此视图中的所有元素都相同,但单击按钮会产生不同的结果。有没有办法让我在by.css()定位器中指定两个属性,还是我必须以不同的方式做到这一点?

1 个答案:

答案 0 :(得分:1)

是的,只需在方括号中添加新条件:

div[data-row=1][data-col=1]

您实际上可以在单个选择器中加入选择器链:

$('div[data-row=1][data-col=1] .widget-toggle-btn').click();

$()element(by.css())的快捷方式。