酶 - Mount无法通过id找到元素

时间:2017-07-26 22:47:48

标签: javascript reactjs redux react-redux enzyme

我构造了包装器:

this.wrapper = mount(<App />, { context: this.store });

然后我尝试通过其id:

找到某个HTML元素
console.log("WRAPPER:", this.wrapper.debug());
return this.wrapper.find('#Form-input[0]-fields-field1');

包装器无法找到此元素。 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的输入肯定存在。我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

您似乎正在使用ID选择器#Form-input[0]-fields-field1,但我认为[]CSS IDs无效,也许您可​​以按名称搜索输入,input[name="Form-input[0]-fields-field1"]有用吗?如果我错了,方括号实际上没问题,你可能仍然需要在查询中转义它们!