找出量角器元素CSS链

hha*_*amm 6 javascript css-selectors angularjs protractor

出于开发和调试的目的,了解我在以下方法中提出的完整CSS链是非常好的:

divElm.element(by.css("article")).element(by.css("tbody > tr")).then(function(elm) {
  // is there a way to know here what is the "CSS chain" of 'elm'?
});
Run Code Online (Sandbox Code Playgroud)

如果我调试elm我看到一个locator属性:

locator_: { using: 'css selector', value: 'tbody > tr' },
Run Code Online (Sandbox Code Playgroud)

但那只是链中最后一个元素的定位器.

拥有所有内容非常有用,例如:divElm, article, tbody > tr通过这种方式,我可以在页面上手动调试,以查看元素是否真的存在.

更新:我真正需要的是,当一个量角器选择器期望失败时(例如使用isPresent()方法),我得到的错误只显示链中的最后一个选择器.如果显示整个链条,那将非常方便.

alc*_*eoh 0

如果您想直接从浏览器测试 CSS 链,最简单的方法就是按照这篇优秀文章中的建议进行操作: http ://yizeng.me/2014/03/23/evaluate-and-validate-xpath -css-selectors-in-chrome-developer-tools/

这样您就不必再调试它,您从一开始就知道您的选择器匹配什么(以及不匹配什么)