我的问题:
我尝试使用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?
答案 0 :(得分:1)
您可以尝试这种方式:
input[id^="groupName"]
[attr^=value]
:表示属性名称为attr的元素,其第一个值以&#34; value&#34;为前缀。
答案 1 :(得分:0)
不幸的是,CSS Selector没有提供这样的方法。您可以使用不同的CSS选择器将输入与id匹配,并将其作为列表。之后使用getAttribute('id')
你可以手动完成,但这对我来说似乎是不必要的努力,我建议只使用Xpath。
当然,你可以尝试获得一个不同的独特CSS选择器。如果它在表单中,您可以找到表单并使用:nth-child
,但如果我没记错,这在IE中有限/不支持。
修改显然IE9及更高版本支持:nth-child