包含 CSS 选择器以用 nightwatch / selenium 填充表单

Contains CSS Selector to fill a form with nightwatch / selenium

我的问题:

我尝试使用 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 选择器而不是 XPATH?

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

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

编辑 显然 IE9 及更高版本支持 :nth-child

你可以这样试试:

input[id^="groupName"]

来自 MDN > Attribute selectors :

[attr^=value] : Represents an element with an attribute name of attr and whose first value is prefixed by "value".