如何在量角器中找到下一个元素?

鉴于我有以下HTML代码:


<div class="someGenericClass">

   <input name="someGenericName">

   <label>not important</label>

</div>

<div class="someGenericClass">

   <input name="someGenericName">

   <label>not important</label>

</div>

<div class="someGenericClass">

   <input name="someGenericName">

   <label>Text I need to find in my test</label>

</div>

在这种情况下,如何查找标签文本?它没有属性。我试图找到第一个元素,然后是下一个元素,但我错过了一些东西:


element(by.name('someGenericName')).element(by.xpath('following::label'));

还尝试了:


 element(by.name('someGenericName')).element(by.xpath('following-sibling::label'));

编辑:该类不是唯一的。它在 DOM 中被多次使用。


如果 DOM 将发生更改,会发生什么情况? 这似乎是一个坏主意,对吧?element.all


桃花长相依
浏览 80回答 1
1回答

万千封印

元素.所有应该工作正常HTML View<div id='id1' class="parent">&nbsp; <ul>&nbsp; &nbsp; <li class="foo">1a</li>&nbsp; &nbsp; <li class="baz">1b</li>&nbsp; </ul></div><div id='id2' class="parent">&nbsp; <ul>&nbsp; &nbsp; <li class="foo">2a</li>&nbsp; &nbsp; <li class="bar">2b</li>&nbsp; </ul></div>Codelet foo = element.all(by.css('.parent')).all(by.css('.foo'));expect(foo.getText()).toEqual(['1a', '2a']);let baz = element.all(by.css('.parent')).all(by.css('.baz'));expect(baz.getText()).toEqual(['1b']);let nonexistent = element.all(by.css('.parent'))&nbsp; .all(by.css('.NONEXISTENT'));expect(nonexistent.getText()).toEqual(['']);// Or using the shortcut $$() notation instead of element.all(by.css()):let foo = $$('.parent').$$('.foo');expect(foo.getText()).toEqual(['1a', '2a']);let baz = $$('.parent').$$('.baz');expect(baz.getText()).toEqual(['1b']);let nonexistent = $$('.parent').$$('.NONEXISTENT');expect(nonexistent.getText()).toEqual(['']);element.all 返回一个 promise 数组。您可以迭代数组和链接以查找位于输入标记后面的标签。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript