3

有没有办法在输入一些文本之前清除输入字段。我对使用 rspec 编写 capybara 还很陌生,而且我在使用屏蔽输入字段时遇到了一些麻烦。

这是我尝试的方法:
find('AddressZip').clear
fill_in('AddressZip', :with => '77487')

我尝试搜索类似的方法,但没有找到任何东西。帮助将不胜感激。

4

3 回答 3

3

据我所知, execute_script 忽略了使用whithin定义的范围。也很啰嗦。

更好地使用

fill_in locator, with: ''

或者

find(complex_selector).set ''

该问题的已接受答案中所述

于 2015-03-27T16:05:12.023 回答
3

我不知道是否有更好的解决方案,但我一直在使用这个

 page.execute_script("$('#{field_id}').val('');")
于 2013-08-13T18:49:43.513 回答
2

通常清除文本字段很简单,fill_in locator, with: ''但这对我来说不适用于由 Vue.js 组件控制的某个字段。在尝试了关于 SO 提出的 5 种不同的解决方法后,我最终不得不求助于使用 EG 的send_keys方法:backspace

10.times { find(:css, "input[name$='title']").send_keys(:backspace) }

于 2018-09-13T17:31:10.240 回答