编辑:经过进一步测试,似乎问题是特定于站点的,理论上应该可以正常工作.
应该在多行上的Textarea值全部在一行上提交.
textarea_values = "value1\nvalue2"
form = page.form_with(:id => 'form_id_here')
form['my_textarea'] = textarea_values
submit = form.button_with(:value => 'Submit')
form.click_button(submit)
Run Code Online (Sandbox Code Playgroud)
提交的值value1\nvalue2不是按预期在多行上.
是否有其他方法可以添加我可以尝试的表单值?
就像评论中的@nash 一样,我无法理解上面示例中的问题。“\n”是一个控制字符(换行符,行标记)。
请参阅: http: //en.wikipedia.org/wiki/Control_character
因此,除非您使用单引号字符串(其中“\”转义不起作用),否则这种表示法没有任何问题。
如果您对这种表示法感到困惑,您还可以在 Ruby 中使用 HEREDOC 表示法:
textarea_values = <<VALUES
value1
value2
VALUES
Run Code Online (Sandbox Code Playgroud)
在缩进代码中,您还可以使用:
# ... code ...
# ... code ...
textarea_values = <<-VALUES
value1
value2
VALUES
# ... code ...
# ... code ...
Run Code Online (Sandbox Code Playgroud)
这里的区别是“<<-VALUES”中的连字符,这意味着您可以将 HEREDOC 结束标记设置为在代码中缩进。请注意,此示例中的值具有前导空格/制表符,因此您更喜欢第一个示例 - 它打破了整个代码块的缩进,但值行没有前导空格。
对于巨大的文本区域输入,我真的更喜欢 HEREDOC 表示法,它使事情变得更容易且更具可读性。
有关 HEREDOC 的更多信息:
关于 Ruby 字符串使用的所有内容:
| 归档时间: |
|
| 查看次数: |
960 次 |
| 最近记录: |