0

我有一个场景,其中所有文本字段都有共同的 id。我想使用 xpath 填写那些,因为我只能使用containsxpath 的方法访问它们。例如: tr[td//text()[contains(., 'account1')]]/td[3]/a[4]"

我也用谷歌搜索,但没有得到任何可靠的答案。我想使用 xpath 填写文本框。这可能吗??。此外,我什至尝试了一个新的web-step,例如:

When /^I fill in xpath "([^"]*)" with "([^"]*)" for id "([^"]*)"$/ do |xpath,value|
  find(:xpath, xpath).set "value"
end

.我也尝试过使用within以下方法:-

within(:xpath, xpath) do

有什么建议么????

4

2 回答 2

0

我同意上面的人。你真的不应该使用 XPATH。首先,在调试代码时它非常脆弱且难以阅读。相反,我会使用 css 选择器。当然,这更麻烦,但更容易调试。如果您在范围界定方面遇到问题,只需执行一个 inside 块......它看起来像这样:

When /^ I fill in <code> with <text> $/ do |code,text|
  within('.css') do 
    fill_in(:css, " ", :with => "text") 
  end 
end
于 2013-05-24T17:55:27.460 回答
0

id用于唯一标识。同一页面中的几个常见 id 是一个很大的 No。

你需要改变情况而不是适应它。

于 2013-05-17T13:10:52.240 回答