我试图使我的pageObjects在量角器中保持尽可能的干净,但是在选择子元素时遇到了某些行为。
这有效:
var parent = element(by.css('.parent-class'));
parent.element(by.css('.child-class')).getText();
但是,这不是:
var parent = element(by.css('.parent-class'));
var child = element(by.css('.child-class'));
parent.child.getText();
有办法做第二个例子吗?我宁愿不要将元素定位器散布在pageObjects的所有方法中,但这似乎是找到子元素的唯一方法?
在实际应用中,我有很长的卡片清单,从中可以筛选出我要寻找的卡片。然后,我想对卡片的子元素进行处理。
您可以使用该locator()
函数获取子元素的定位符,并使用它查找父元素的子元素。这类似于您在注释中提供的解决方案,但是允许您将页面对象上的所有属性定义为Web元素,而不是元素和定位符的混合:
var parent = element(by.css('.parent-class'));
var child = element(by.css('.child-class'));
parent.element(child.locator()).getText();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句