如何解决如何使用量角器获取孩子的数量计数
我正在使用Protractor来测试我的Web应用程序。 我尝试计算父div元素内的子元素的数量,例如:
<div id="abc">
<div class="a">..</div>
<div class="b">..</div>
<button>..</button>
</div>
结果应该是3,但是我不知道如何用div和button来计算数字。 谢谢!
解决方法
我无法与量角器解决方案对话-但这对于简单的javascript很容易-而且由于您已标记javascript-我想我会分享。
通过使用querySelectorAll并引用父元素,然后将通配符选择器“ >
”与直接后代/子选择器“ *
”一起使用-您可以找到作为以下子元素的直接子元素的alll元素父div,然后使用.length
查找项目数。
const elements = document.querySelectorAll('#abc > *');
const elementsLength = elements.length;
console.log(elementsLength); // gives 3
<div id="abc">
<div class="a">..</div>
<div class="b">..</div>
<button ="a">..</button>
</div>
编辑-经过几分钟的Google搜索-我找到了一个量角器站点,该站点提供了有关查询DOm和返回量角器测试的信息-请注意,我根本不了解量角器,因此我将其用作建议。 dom查询-
引用-由http://www.webdriverjs.com/find-elements-using-javascript-protractor/
describe('Locating element numbers using JS',function () {
it('Identify number of children elements',function () {
browser.get("http://angularjs.org");
element.all(by.js(function () {
const elements = document.querySelectorAll('#abc > *');
return elements;
})).then(function (webElements) {
const elementsLength = webElements.length;
expect(elementsLength).not.toBe(0);
});
});
});
,
您可以在CSS选择器中使用*
来获取任何标签的所有子元素:
const child_amount = await element(by.css('div#abc > *')).count()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。