我正在使用Selenium WebDriver和Protractor在我的角度项目上运行e2e测试。 假设我有一个像:
这样的元素<div my-directive my-unique-id="abc123"></div>
如何找到上述元素。
我尝试使用element(by.css('div[my-unique-id="abc123"]'));
,但它给出了NoSuchElementError。
如果我尝试使用HTML等属性,例如,我想找到:
<a title="myTitle" href="">Click me</a>
我能够使用element(by.css('a[title="myTitle"]'))
如果元素没有任何标准HTML属性,如何找到具有自定义属性的元素?
答案 0 :(得分:18)
尝试使用xpath:
element(by.xpath('//div[@my-unique-id="abc123"]'))
或仅按属性
element(by.xpath('//div[@my-unique-id]'))
答案 1 :(得分:3)
尝试使用:
element(by.css('[my-unique-id="abc123"]'))
对于简单的情况,它比xpath更容易,更易读。
有关xpath语法的更多信息以及何时有用:http://www.w3schools.com/xml/xml_xpath.asp