Ruby on rails 在Capybara中,如何选择动态生成的元素
我要选择以下元素:Ruby on rails 在Capybara中,如何选择动态生成的元素,ruby-on-rails,rspec,capybara,Ruby On Rails,Rspec,Capybara,我要选择以下元素: <tr class="tr_even" id="13-hey-guys"> 我得到以下错误: Failure/Error: within('tr id=\"#{item.id}-#{item.name.downcase}\"') do Nokogiri::CSS::SyntaxError: unexpected '=' after '[#<Nokogiri::CSS::Node:0x0000010835f210 @type=:DESCENDANT_
<tr class="tr_even" id="13-hey-guys">
我得到以下错误:
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"]>]>]'
失败/错误:在('tr id=\“{item.id}-{item.name.downcase}\”)内执行
Nokogiri::CSS::语法错误:
“[#]”之后出现意外的“=”
如何捕获元素默认情况下,
Capybara
使用CSS查找元素
我认为,找到这一要素的正确方法应该是:
within("tr##{item.id}-#{item.name.downcase}") do
...
我希望这能有所帮助。以下内容如何
within("tr[@id=\"#{item.id}-#{item.name.downcase}\"]")
我没有在中使用,但这就是通常可以指定find
中元素的方式
顺便说一句,当你想使用不起作用的
{some#u variable}
时,你必须使用双引号,我得到了失败/错误:在('tr#{item.id}-{item.name.downcase})中,do Nokogiri::CSS::SyntaxError:在“[#]之后出现意外的“#”@EricBaldwin你试过“tr#item.id}-{downcase}”吗
而不是'tr##{item.id}-#{item.name.downcase}
?使用双引号会出现“找不到css…”错误。它仍然不起作用,但是语法错误消失了。谢谢
within("tr[@id=\"#{item.id}-#{item.name.downcase}\"]")