我试图尽可能保持我在Protractor中的pageObjects,但是在选择子元素时遇到了一些行为.
这有效:
var parent = element(by.css('.parent-class'));
parent.element(by.css('.child-class')).getText();
Run Code Online (Sandbox Code Playgroud)
但是,这不是:
var parent = element(by.css('.parent-class'));
var child = element(by.css('.child-class'));
parent.child.getText();
Run Code Online (Sandbox Code Playgroud)
有没有办法做第二个例子?我宁愿不让我的pageObjects上的方法遍布元素定位器,但似乎这是找到子元素的唯一方法吗?
在实际应用中,我有一长串卡片,我可以从中过滤到我正在寻找的卡片.然后我想用卡的子元素做事.
Nat*_*son 14
您可以使用该locator()函数获取子元素的定位器,并使用它来查找父元素的子元素.这类似于您在注释中提供的解决方案,但允许您将页面对象上的所有属性定义为Web元素,而不是元素和定位器的混合:
var parent = element(by.css('.parent-class'));
var child = element(by.css('.child-class'));
parent.element(child.locator()).getText();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4707 次 |
| 最近记录: |