Javascript 酶装罐';无法按id查找元素

Javascript 酶装罐';无法按id查找元素,javascript,reactjs,redux,react-redux,enzyme,Javascript,Reactjs,Redux,React Redux,Enzyme,我构造包装器: this.wrapper = mount(<App />, { context: this.store }); 包装器找不到此元素。console.log的输出如下所示: WRAPPER: <Many children/components down...> <input name="Form-input[0].fields.field1" onBlur={[Function]} onChange={[Function]} onDragSt

我构造包装器:

this.wrapper = mount(<App />, { context: this.store });
包装器找不到此元素。console.log的输出如下所示:

WRAPPER:
<Many children/components down...>
    <input name="Form-input[0].fields.field1" onBlur={[Function]} onChange={[Function]} onDragStart={[Function]} onDrop={[Function]} onFocus={[Function]} value="asdf" type="text" id="Form-input[0]-fields-field1" disabled={false} />
<Many more things after this...>
包装器:

因此,具有正确id的输入肯定存在。我遗漏了什么吗?

看起来您使用的是ID选择器
#Form input[0]-field1
,但我认为
[
]
无效,因为,也许您可以按名称搜索输入,
input[name=“Form input[0]-field1”
有效吗?如果我错了,而方括号实际上还可以,那么您可能仍然需要在查询中转义它们

你说得对!但是,wrapper.find似乎不允许转义字符。因此,我最终通过调用wrapper.find({id:'Form input[0]-fields-field1')解决了这个问题,它工作得很好。很高兴您修复了它!我检查了Ezyme的repo,查看与此相关的问题-他们正在研究改进选择器的解决方案。是的,
find
的参数没有被视为普通css选择器字符串,这一事实非常令人困惑!它似乎在寻找]角色,此时它会忽略该角色之后的所有其他内容。
WRAPPER:
<Many children/components down...>
    <input name="Form-input[0].fields.field1" onBlur={[Function]} onChange={[Function]} onDragStart={[Function]} onDrop={[Function]} onFocus={[Function]} value="asdf" type="text" id="Form-input[0]-fields-field1" disabled={false} />
<Many more things after this...>