如何使用没有 id 或 class 的量角器测试元素?

How to test an element with protractor that has no id or class?

我是量角器的新手,正在尝试测试代码中的各种元素(我没有编写的代码)。

这里是一些代码的例子:

<ul class="primary_menu"> <li class=""> <a href="http&#x3a;&#x2f;&#x2f;localhost&#x3a;8080&#x2f;web&#x2f;aaaa_customer&#x2f;home" > Home</a> </li>

如上图所示,此元素没有 ID,class 为空。因此,我该如何访问它? 下面是我编写的一些代码,用于访问具有 ID 的元素:

browser.driver.findElement(by.id('header-search-link')).click();

我也曾尝试访问一个元素 by.css 但它对上述问题不起作用。

任何帮助都会很棒

根据http://angular.github.io/protractor/#/locators#finding-sub-elements,您可以链接定位器来查找元素:

element(by.css('.primary_menu')).element(by.tagName('li'));

element(by.css('.primary_menu li'));

(未经测试,我从未使用过 Protractor)

如果您想访问 Home link,只需通过 partial link text:

获取即可
element(by.partialLinkText('Home'));

或者,您可以使用 CSS selector:

element.all(by.css('ul.primary_menu > li > a')).first();