我正在为 Web 应用程序编写硒测试。该应用程序使用动态构建的表单,这意味着我有很多非唯一元素要尝试和遍历(#ids 很少,或者非常顶级)。这些形式也可以根据设置而改变(元素的位置可以不同,因此 nth-child 是不可靠的)。
我想通过这些拥有的 unqiue 类名找到一些字段,但是它们被埋在非唯一元素中。我需要一种方法通过它们的唯一值(不是#id)来定位这些元素,这样它们在表单上的位置就不会影响 selenium 找到它们。我不知道该怎么做。
希望这可以解释这种情况:
<Some non-unqiue Div>
<child>
<child>
<unique value 1>
<Some non-unqiue Div>
<child>
<child>
<unique value 2>
<Some non-unqiue Div>
<child>
<child>
<unique value I WANT THIS ONE>
<Some non-unqiue Div>
<child>
<child>
<unique value 4>
您可以在此处看到我想要的元素具有我想要匹配的唯一值。但是,我不能使用 nth-child(3) 导航到其父级,因为它们出现的顺序可能会有所不同。例如,在不同的场景中,它可能是 nth-child(2)。
因此,可能适用于上述情况的选择器可能如下所示:
Some.nth-child(3) > child > child > [unique*=\"I WANT THIS ONE\"]
但是,在另一种情况下,最高父级可能是 nth-child(2),因此这将不再起作用。
我可以使用任何 Css 选择器魔法来确保我始终可以通过其唯一值找到这个元素,而不管它的父元素出现在列表中的哪个位置?
提前致谢!