javascript - enzyme - Mount 无法通过 id 找到元素

标签 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正确的input肯定是有的。我错过了什么吗?

最佳答案

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

关于javascript - enzyme - Mount 无法通过 id 找到元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45338662/

相关文章:

javascript - 导出 react redux connect 时出现 Flow uncovered 代码警告

function - react 组件中的测试方法不起作用

javascript - 为嵌套对象数组创建reducer

javascript - redux 选择器不会相应地过滤嵌套数组

javascript - 球体表面随机生成 3D 点

javascript - 如何在柏树中测试错误请求

javascript - OL3 在手机或平板电脑上徒手绘制多边形或线串

javascript - 尝试在 Chrome 中打开 PDF 时获取 "Error 321:ERR_INVALID_CHUNKED_ENCODING"

javascript - react 中的脚本加载

redux - 如何登录到 Redux 中的文件?