如何检测仅出现在 dom 中的数据?
How do I detect data that only appears in dom?
所以我正在查看一个偶尔无法填写数据的表单字段
.set('Important Label') #occasionally ignored
.send_keys('Important Label') #occasionally ignored
以下是元素在 html 中的外观,无论字段是否已填充
<input data-bind="textinput: form.name, errorInput: form.hasNameError"
placeholder="Name" class="form-control name-blah-form" type="text">
我唯一能看到数据的地方是 Mozilla 的 DOM 视图 Firebug
我尝试了各种发现 ElementNotFound
find(:xpath, '*//[contains(@value,"Important Label")]') #ElementNotFound
find(:xpath, '*//[contains(value,"Important Label")]') #ElementNotFound
find(:xpath, '*//[contains(text(),"Important Label")]') #ElementNotFound
find(:xpath, '*//[@value="Important Label"]') #ElementNotFound
find(:xpath, '*//[value="Important Label"]') #ElementNotFound
这种类型的表单域出现在很多地方。检测现场有什么会很有帮助。
有什么想法吗?
填写字段值会更改值 属性 而不是值属性。 HTML 显示属性(页面加载时的值),而不是 属性(当前值)。要匹配 属性,您可以使用字段选择器的 with
选项 - https://github.com/teamcapybara/capybara/blob/master/lib/capybara/selector.rb#L67
find(:field, with: 'Important Label')
所以我正在查看一个偶尔无法填写数据的表单字段
.set('Important Label') #occasionally ignored
.send_keys('Important Label') #occasionally ignored
以下是元素在 html 中的外观,无论字段是否已填充
<input data-bind="textinput: form.name, errorInput: form.hasNameError"
placeholder="Name" class="form-control name-blah-form" type="text">
我唯一能看到数据的地方是 Mozilla 的 DOM 视图 Firebug
我尝试了各种发现 ElementNotFound
find(:xpath, '*//[contains(@value,"Important Label")]') #ElementNotFound
find(:xpath, '*//[contains(value,"Important Label")]') #ElementNotFound
find(:xpath, '*//[contains(text(),"Important Label")]') #ElementNotFound
find(:xpath, '*//[@value="Important Label"]') #ElementNotFound
find(:xpath, '*//[value="Important Label"]') #ElementNotFound
这种类型的表单域出现在很多地方。检测现场有什么会很有帮助。
有什么想法吗?
填写字段值会更改值 属性 而不是值属性。 HTML 显示属性(页面加载时的值),而不是 属性(当前值)。要匹配 属性,您可以使用字段选择器的 with
选项 - https://github.com/teamcapybara/capybara/blob/master/lib/capybara/selector.rb#L67
find(:field, with: 'Important Label')