1

我目前正在将 Watir 与 Firefox 一起使用,似乎当我尝试使用以下文本设置字段时:

@#$​​QWER7890uiop

我正在使用的命令如下:

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

我也试过这个:

text_field(:name, "password").set "!@#$QWER7890uiop)

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

4

1 回答 1

3

您需要使用单引号对字符串进行转义'

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

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

  1. \n、\t、\s 等转义序列被它们的等效字符替换。有关完整列表,请参见此处
  2. #{}大括号中的任何内容都被解释为 ruby​​ 表达式。
  3. #$somethingwhere$something被解释为 ruby​​ 全局变量。这就是你上面引用的问题,除了没有被终止。
  4. %s被解释为 ERB 模板表达式(它是内插的)。例如:
    puts "%s hours later" % 'Five'
    导致
    "Five hours later".
于 2010-08-14T08:38:06.523 回答