量角器-获取元素的子元素
Protractor - get child element of an element?
我正在尝试访问一个ng-repeat元素的子元素,但是我遇到了麻烦。
我已经搜索了这个问题,我找到的解决方案都不适合我。其中一个解决方案是这样做的:
var parent = element(by.repeater(''));
var child = parent.element(by.....);
当我尝试child
行时,我看不到父元素上的元素函数..
如果你看到上面的截图,你会看到我要测试的页面的代码结构。
我需要访问头像图像的alt属性并获得其值(即用户的用户名)。
我想到的一件事是在ng-repeat行上使用.getInnerHTML()
,这将返回一个包含所有代码的字符串。从那里,我可以找到alt
属性及其值与字符串操作,但这似乎太野蛮,我确信必须有一个更好的方法。
我只想从中继器中获取第4行并获取第4行用户的Username,这就是我想要的
试试这个,
var parent = element(by.repeater('f in feed'));
var child = parent.all(by.xpath('//img[@alt="Pundeep"]')).first()
(或)
var parent = element(by.repeater('f in feed'));
var child = parent.all(by.xpath('//img[@alt="Pundeep"]')).get(0)
您可以直接使用量角器中的element.all()
和get()
定位器获得。-
var child = element.all(by.repeater('parent_locator')).get(3); //gets 4th element in repeater. Its a 0 based index.
child.getAttribute('alt').then(function(user){
var username = user; //username contains the alt text
});
在Protractor元素文档中给出了一个查找子元素的示例,这与链接元素find:
相同// Chain 2 element calls.
let child = element(by.css('.parent')).
$('.child');
expect(child.getText()).toBe('Child text'n555-123-4567');
// Chain 3 element calls.
let triple = element(by.css('.parent')).
$('.child').
element(by.binding('person.phone'));
expect(triple.getText()).toBe('555-123-4567');
// Or using the shortcut $() notation instead of element(by.css()):
// Chain 2 element calls.
let child = $('.parent').$('.child');
expect(child.getText()).toBe('Child text'n555-123-4567');
// Chain 3 element calls.
let triple = $('.parent').$('.child').
element(by.binding('person.phone'));
expect(triple.getText()).toBe('555-123-4567');
https://www.protractortest.org//api ?看来美元= ElementFinder.prototype。
这个例子可以帮到你:
return element(by.css('select.custom-select:nth-child(1) option[value="12"]'));
可以使用n -child()选择器来访问子元素。在我的例子中,我使用了一个插件与2选择相同的类,我想在选择1中单击一个定义的选项,在选择2中单击第二个。
相关文章:
- React - 从 DOM 元素获取组件以进行调试
- 如何使用 JQuery 从相对元素获取 html 文本
- 从同一域上的 iframe 中的元素获取值
- 使用本机 Javascript 从 DOM 元素获取选择器字符串
- 使用jquery从另一个元素获取使用id的输入的id
- 如何从角度元素获取编译的节点值
- 如何为不同的元素获取不同的父类
- 从 jQuery 中的子元素获取父 tr 元素
- 当浮点部分为空时,从 JQuery 中的输入元素获取数字值不起作用
- 从 XML 元素获取文本
- 从音频元素获取音频样本
- 从所选元素 html 上方的元素获取属性值
- 使用 jQuery.data 从 dom 元素获取布尔值
- 如何通过jquery从某个元素获取部分文本
- 从输入元素获取表单和表单数据对象
- 从动态元素获取挖空视图的大小
- 从中继器循环中显示的子自定义元素获取正确的上下文.奥蕾莉亚
- 如何使用 JavaScript 或 JQuery 从输入类型=文件 html 元素获取文件名
- 从父元素获取 ID 并将它们放在数组中
- 尝试从选项元素获取 HTML