Nokogiri selector help


#1

hiya,

i want the selector that would return a

of a table if any td
contains some text, so i can use it in click_link_within

e.g. When I click the “show” link within the row containing
“removed_email_address@domain.invalid”

When /^I click the “(.+)” link within the row containing “(.+)”$/ do |
link, text|
selector = ??
click_link_within selector, link
end


and lets say the response contains

......
show foo bar removed_email_address@domain.invalid baz
...

#2

On Sat, Jan 24, 2009 at 12:05 AM, Jonathan L.
removed_email_address@domain.invalid wrote:

text|
selector = ??
click_link_within selector, link
end

You can use an XPath selector to find the parent. Try:

selector = “//table//tr//td[contains(.,‘removed_email_address@domain.invalid’)]//…”

 <tr>


Zach D.
http://www.continuousthinking.com
http://www.mutuallyhuman.com


#3

On Jan 25, 2009, at 11:58 AM, Zach D. wrote:

selector = “//table//tr//td[contains(.,‘removed_email_address@domain.invalid’)]//…”
hi Zach,

that works as a selector when I do
doc = Nokogiri::HTML.parse( response.body )
doc.xpath(selector)
returns the correct dom elements

but when used with click_link_within I get the error

Nokogiri::CSS::SyntaxError Exception: unexpected ‘//’ after ‘’


#4

On Fri, Jan 30, 2009 at 9:45 PM, Jonathan L.
removed_email_address@domain.invalid wrote:

some text, so i can use it in click_link_within
end
returns the correct dom elements

but when used with click_link_within I get the error

Nokogiri::CSS::SyntaxError Exception: unexpected ‘//’ after ‘’

Sorry for the late reply, but this is a bug in webrat not a nokogiri
issue. I’ve created a ticket for it at lighthouse:

http://webrat.lighthouseapp.com/projects/10503-webrat/tickets/153-within-should-support-xpath


Zach D.
http://www.continuousthinking.com
http://www.mutuallyhuman.com


#5

Sorry for the late reply, but this is a bug in webrat not a nokogiri
issue. I’ve created a ticket for it at lighthouse:

http://webrat.lighthouseapp.com/projects/10503-webrat/tickets/153-within-should-support-xpath

I wrote an ugly duckpunch that fixes the error for now. I have submitted
it as a comment on the ticket