1

我正在将页面对象 Gem 与 Watir 一起使用。在测试期间,我发现我有一个字段具有相同的内容,显示在同一位置但具有单独的唯一 ID。不同之处在于您到达页面之前。

我尝试使用 Xpaths:

select_list(:selectionSpecial, :xpath => "//select[@id='t_id9' OR @id='t_id7']")


但是遇到了脚本错误。

它们是静态 ID,但我想将它们强制转换为一个变量,因为这将允许我使用“populate_page_with”功能。

我目前有一个冗长的方法,但我正在寻找一种更有效的方法来处理页面对象功能。

有谁知道这样做的方法?

4

1 回答 1

1

您使用 xpath 的方法可以工作。问题是 xpath 选择器中的语法错误。它应该是:

"//select[@id='t_id9' or @id='t_id7']"

笔记:

  • 开头应该是 a//而不是 a\
  • 使用or区分大小写;它必须是小写的
  • '第一个 id 属性也缺少关闭

就个人而言,我发现 css 和 xpath 选择器更难使用。我会使用带有正则表达式的 id 定位器。下面给出了相同的结果,但有些人会发现它更容易阅读。

select_list(:selectionSpecial, :id => /^t_id(7|9)$/)
于 2013-07-30T16:06:20.313 回答