在输入一些文本之前,是否有一种方法可以清除输入字段。我很擅长使用rspec编写capybara,我在屏蔽输入字段时遇到了一些麻烦。
这是我尝试的方法:
find('AddressZip').clear
fill_in('AddressZip', :with => '77487')
我尝试搜索类似的方法,但没有找到任何东西。 非常感谢帮助。
答案 0 :(得分:3)
我不知道是否有更好的解决方案,但我一直在使用这个
page.execute_script("$('#{field_id}').val('');")
答案 1 :(得分:2)
据我所知,execute_script忽略使用 whithin 定义的范围。 它也很冗长。
最好使用
fill_in locator, with: ''
或
find(complex_selector).set ''
的已接受答案中所述
答案 2 :(得分:0)
正常情况下,清除文本字段就像fill_in locator, with: ''
一样简单,但是对于由Vue.js组件控制的特定字段,这对我不起作用。
在尝试了针对SO提出的5种不同的解决方法后,我最终不得不对send_keys
使用:backspace
方法,例如:
10.times { find(:css, "input[name$='title']").send_keys(:backspace) }