Javascript nightwatch无法按其id选择元素

Javascript nightwatch无法按其id选择元素,javascript,selenium,nightwatch.js,Javascript,Selenium,Nightwatch.js,我的页面上有下面的HTML dom。我使用ngitwatch编写测试用例 <td class="GPNWDJGHV" id="gwt-debug-MenuItem/mongo-true">Mongo Extension</td> 但是如果我使用classname,它的工作原理如下 .waitForElementVisible('GPNWDJGHV', 10000) 唯一不同的是id包含一个字符“/”。这就是问题所在吗?夜班不接吗?如何使用带有特殊字符的id名称 EDI

我的页面上有下面的HTML dom。我使用ngitwatch编写测试用例

<td class="GPNWDJGHV" id="gwt-debug-MenuItem/mongo-true">Mongo Extension</td>
但是如果我使用classname,它的工作原理如下

.waitForElementVisible('GPNWDJGHV', 10000)
唯一不同的是id包含一个字符“/”。这就是问题所在吗?夜班不接吗?如何使用带有特殊字符的id名称

EDIT1

我已尝试在id中添加“\”,如下所示:

.waitForElementVisible('#gwt-debug-MenuItem\/mongo-true', 10000)

它仍然不起作用。但是这个选择器在css中工作。不确定在nightwatch中有多大不同。

这不是Selenium或nightwatch的问题,只是HTML ID的问题<代码>/不是ID的有效字符

XPath使用
/
从父节点选择子节点:

w3schools有一个非常简单的例子来测试:

编辑:您可能可以使用
\/
在CSS选择器中转义斜杠。(注意:我只在w3schools演示中测试了它(使用
id=“first/name”

HTML:


我发现id包含/(正斜杠)没有问题。我用Java绑定对它进行了测试,我再次测试了W3S的演示:显然,您可以使用转义正斜杠。刚刚更新了答案。您的Java绑定示例如何处理正斜杠?我刚刚尝试在id上使用\。它适用于css选择器,但不适用于Nightwath。从设计角度来看,我会尽量避免在HTML id中使用正斜杠。如果你想做得更深入,也许你想看看nightwatch内部是如何处理这些字符的。
.waitForElementVisible('#gwt-debug-MenuItem\/mongo-true', 10000)
<td class="GPNWDJGHV" id="gwt-debug-MenuItem/mongo-true">Mongo Extension</td>
.waitForElementVisible('#gwt-debug-MenuItem\/mongo-true', 10000);