清除Capybara和Rspec中的屏蔽输入字段

时间:2013-08-13 17:08:35

标签: selenium rspec capybara

在输入一些文本之前,是否有一种方法可以清除输入字段。我很擅长使用rspec编写capybara,我在屏蔽输入字段时遇到了一些麻烦。

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

我尝试搜索类似的方法,但没有找到任何东西。 非常感谢帮助。

3 个答案:

答案 0 :(得分:3)

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

 page.execute_script("$('#{field_id}').val('');")

答案 1 :(得分:2)

据我所知,execute_script忽略使用 whithin 定义的范围。 它也很冗长。

最好使用

fill_in locator, with: ''

find(complex_selector).set ''

this question

的已接受答案中所述

答案 2 :(得分:0)

正常情况下,清除文本字段就像fill_in locator, with: ''一样简单,但是对于由Vue.js组件控制的特定字段,这对我不起作用。 在尝试了针对SO提出的5种不同的解决方法后,我最终不得不对send_keys使用:backspace方法,例如:

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