Automation 使用Capybara从文本字段中删除内容

Automation 使用Capybara从文本字段中删除内容,automation,capybara,Automation,Capybara,我正在编写一个脚本,用水豚来填充文本字段,但是在填充字段之前,我想确保字段是空的,并且文本不是自动填充的。基本上,我在寻找与 (Object) fill_in(locator, options = {}) #empty_content_of? delete? 在此处找到:。建议?在努力解决这个问题后,我问了一位同事,解决方案是使用以下方法: fill_in(locator, with: "") 例如: fill_in "Name", with: "" 这很有道理,对许多人来说可能是直

我正在编写一个脚本,用水豚来填充文本字段,但是在填充字段之前,我想确保字段是空的,并且文本不是自动填充的。基本上,我在寻找与

(Object) fill_in(locator, options = {})    #empty_content_of? delete?

在此处找到:。建议?

在努力解决这个问题后,我问了一位同事,解决方案是使用以下方法:

fill_in(locator, with: "")
例如:

fill_in "Name", with: ""

这很有道理,对许多人来说可能是直观的,但我被难住了,无法找到答案,所以我想我会发布相关信息,以防对任何人有所帮助。

您可以使用本机selenium绑定清除输入字段,而无需填充空字符串

element = find('locator')
element.native.clear
我更喜欢这个选项,而不是填写


此外,如果您考虑过它,则填充仅限于按标签或名称查找定位器,因此如果它没有标签或名称,您仍然必须使用
find

作为React,您还需要做更多的工作<代码>在字段中填入:“”does。这对React来说不太合适。As不
在字段中填写:'some text'
。因为它没有
参数[0]。在键入文本之前,值='

我遇到了一些问题。我已经决定:

def fill_in_react_datetime n,选项
with=选项[:with]=''?'':格式\日期(选项[:with])
在n中填充:with,填充选项:{clear:[[:control,'a'],:delete]}
结束

对我来说,只有这个解决方案有效:

fill_in('Foo', with: 'bar', fill_options: { clear: :backspace })

我在前端安装了Vue.js。

这是一个适合我且始终可靠的解决方案:

field = find('locator')
field.value.length.times { field.send_keys [:backspace] }

在水豚方面,模仿用户的行为,这对我来说也是一种正确的方式

使用
在字段中填充“:”
并没有为我清除字段,而是为他的作品。我也是。我在FrontEnd上使用React.js这是我在RailsAdmin中尝试在日期字段中填充_时所做的工作。