0

次の要素を選択したい:

<tr class="tr_even" id="13-hey-guys">

オブジェクトの ID とその名前の動的に生成された連結である ID で選択したいと考えています。

この行を使用すると、次のようにキャプチャされます。

within('tr id=\"#{item.id}-#{item.name.downcase}\"') do
    ...

次のエラーが表示されます。

Failure/Error: within('tr id=\"#{item.id}-#{item.name.downcase}\"') do
 Nokogiri::CSS::SyntaxError:
   unexpected '=' after '[#<Nokogiri::CSS::Node:0x0000010835f210 @type=:DESCENDANT_SELECTOR, @value=[#<Nokogiri::CSS::Node:0x0000010835f4e0 @type=:ELEMENT_NAME, @value=["tr"]>, #<Nokogiri::CSS::Node:0x0000010835f2b0 @type=:ELEMENT_NAME, @value=["id"]>]>]'

要素をキャプチャする方法

4

2 に答える 2

1

デフォルトでCapybaraは、CSS を使用して要素を検索します。

その要素を見つける正しい方法は次のとおりだと思います。

within("tr##{item.id}-#{item.name.downcase}") do
  ...

これが役立つことを願っています。

于 2013-07-18T02:12:36.703 に答える
0

以下はいかがでしょうか?

    within("tr[@id=\"#{item.id}-#{item.name.downcase}\"]")

within は使っていませんが、find通常はこのように in 要素を指定できます。

ところで、使用する場合は二重引用符を使用する必要があることに注意してください#{some_variable}

于 2013-07-18T19:33:22.543 に答える