Warm tip: This article is reproduced from serverfault.com, please click

webdriver-是否可以找出某个元素是否在水豚中的第二个元素之前?

(webdriver - Is it possible to find out if an element comes before the second element in Capybara?)

发布于 2020-09-22 04:06:39

我当时使用CaplybaraCucumber进行测试WebDriver,所以我互相看着两个元素,于是我想到了。

  • 以一种更简单的方式,是否可以知道某个元素是否在第二个元素之前?
  • 以更复杂的方式,是否有可能知道一个元素是否在另一个元素之上?

结构简单

<div id="father-parent">
    <p id="children-0">Firt element</p>
    <p id="children-1">Second element</p>
</div>
Questioner
WEB Last Wolf
Viewed
0
Thomas Walpole 2020-09-22 12:26:11

如果你要验证的是孩子0在孩子1之前,你可以使用CSS相邻兄弟选择器

expect(page).to have_css('#children-0 + #children-1')

如果你只想验证children-0是child-1的先前同级兄弟(不一定相邻),则可以使用常规的同级选择器

expect(page).to have_css('#children-0 ~ #children-1')