我有一个 Protractor webElementFinder testElement
。我只想匹配其 div
子级(不是孙子或任何其他后代),因此 testElement.find('div')
将不起作用,因为它将找到所有后代分区。
如果 Protractor 像 jQuery 一样工作(这是有道理的,因为 Angular 足够聪明,可以使用 jQuery,如果它的存在和 Protractor 是用 Angular 构建的),我只会做 testElement.find(' > div')
尽管 find
参数本身不是有效的 CSS 选择器,它仍然可以工作;但是,由于 Protractor 仅使用内置的 Element 函数,因此 CSS 选择器本身无效,并且 Protractor 会抛出错误。
我可以走这条路Angular JS, Protractor locator, get direct children of element因为 xpath 本身就可以让你查看 child ,但我更愿意使用 CSS 而不是 xpath。
最佳答案
没有直接且简单的方法可以从当前元素获得直接的父子定位器。解决这个问题的常见方法是使用 ./
XPath 表达式,但也有一个使用 locator()
的“hack”。 :
testElement.$(testElement.locator().value + ' > div');
关于javascript - 使用 CSS 仅搜索 Protractor webElementFinder 的子级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43148477/