Watir魔法逃脱序列?

时间:2010-08-13 21:08:27

标签: ruby firefox watir

我目前正在使用Watir和Firefox,当我尝试使用以下文本设置字段时:

  

@#$ QWER7890uiop

我使用的命令如下:

  

text_field(:name,“password”)。value =(“!@#$ QWER7890uiop)

我也试过这个:

  

text_field(:name,“password”)。设置“!@#$ QWER7890uiop)

只输入前2个字符。通过此功能,我能做些什么吗?

1 个答案:

答案 0 :(得分:3)

您需要使用单引号'来转义字符串。

text_field(:name, "password").value='"!@#$QWER7890uiop'

在双引号内替换了许多字符。

  1. \ n,\ t,\ s等转义序列被其等效字符替换。有关完整列表,请参阅here
  2. #{}其中大括号被解释为ruby表达式。
  3. #$something其中$something被解释为ruby全局变量。这是你上面引用的问题,除了没有被终止。
  4. %s被解释为ERB模板表达式(它被插值)。 例如:
    puts "%s hours later" % 'Five'
    结果
    "Five hours later"