<ul class="menu">
<li ui-sref-active="active">
<a class="ng-scope" translate="menu.home" href="#/home">Home</a>
</li>
<li ui-sref-active="active">
<a class="ng-scope" ui-sref="customer.list" translate="menu.customers" href="#/customers">Customers</a>
</li>
</ul>
我想使用文本“ Home”来搜索元素,如以下代码所示:
element(by.linkText("Home")).click();
但是在这种情况下translate
,我也需要使用任何其他可用属性以使其更加准确。
这样做有可能吗?我看过这样的事情
by.css(".ng-scope input[translate='menu.customers']");
但这似乎不起作用。
by.css(".ng-scope input[translate='menu.customers']");
这基本上可以解释为:给我input
具有menu.customers
translate
属性值的元素,在具有ng-scope
类的父元素内的某个位置。这是行不通的,因为ng-scope
您提供的HTML中没有class的父元素,a
而不是input
您要找的。
相反,您可能打算:
a.ng-scope[translate='menu.customers']
虽然,我不建议依赖相当广泛的一ng-scope
类。
根据您提供的HTML,以下是一些相当精确的CSS选择器:
ul.menu > li > a[href*=home] // href contains "home"
ul.menu > li > a[href$=home] // href ends with "home"
ul.menu > li > a[translate="menu.home"] // translate equals to "menu.home"
ul.menu > li > a[translate$=home] // translate contains "home"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句