2012-07-10 67 views
0

之間選擇我怎麼會兩個街區之間進行選擇:添加例外兩個代碼塊

page.parser.xpath('//*[contains(concat(" ", @class, " "), concat(" ", "realviewLink", " "))]').each do |product| 

page.parser.xpath('//*[contains(concat(" ", @class, " "), concat(" ", "gbb-productTitle", " "))]').each do |product| 

我嘗試添加一個開始/迴避和if/else語句,並保持了意外的關鍵字的錯誤。如果第一條語句= [],我該如何選擇第二條語句?

回答

0

從你的代碼中,更簡單的方式做到這一點是:

first_xpath_expr = '//*[contains(concat(" ", @class, " "), concat(" ", "realviewLink", " "))]' 
second_xpath_expr = '//*[contains(concat(" ", @class, " "), concat(" ", "gbb-productTitle", " "))]' 
xpath_result = page.parser.xpath(first_xpath_expr).map { |product| process_first_xpath_expr(product) } 
if xpath_result.blank? 
    xpath_result = page.parser.xpath(second_xpath_expr).map { |product| process_second_xpath_expr(product) } 
end