包含CSS选择器以使用夜视/硒填充表单

时间:2016-06-13 08:16:24

标签: selenium xpath css-selectors nightwatch.js

我的问题:

我尝试使用NightwatchJS测试的页面包含具有相同开头的一些输入字段,但添加了随机数。我想填写页面上的文本字段。只有一个具有此名称的人同时出现。

<input id="groupNamec7aed06a-67a1-4780-9cc3-5b985666adb9" class="d-styled-input" data-value-update="keyup" data-bind="value: name" title="">

是Field的定义。 groupName是每次都相同,但数字会发生变化。

是否有可能在nightwatch中使用CSS Selector而不是XPATH?

2 个答案:

答案 0 :(得分:1)

您可以尝试这种方式:

input[id^="groupName"]

来自MDN > Attribute selectors

  

[attr^=value]:表示属性名称为attr的元素,其第一个值以&#34; value&#34;为前缀。

答案 1 :(得分:0)

不幸的是,CSS Selector没有提供这样的方法。您可以使用不同的CSS选择器将输入与id匹配,并将其作为列表。之后使用getAttribute('id')你可以手动完成,但这对我来说似乎是不必要的努力,我建议只使用Xpath。

当然,你可以尝试获得一个不同的独特CSS选择器。如果它在表单中,您可以找到表单并使用:nth-child,但如果我没记错,这在IE中有限/不支持。

修改显然IE9及更高版本支持:nth-child