2011-09-22 7 views
5

Oto kod używam:HTML w Nokogiri

location = block.xpath("*/img") 
puts location 

A to wyjścia:

<img src="/images/p.gif" height="1" width="0"> 

Co chcę zrobić, to atrybut width z html, ale wydaje mi się, że to nie działa. Myślę, że muszę umieścić gdzieś w moim kodzie ['width'] i próbowałem podążać za różnymi przykładami w Internecie, ale nie mogłem go uruchomić.

Odpowiedz

6

Zobacz składnię ścieżki xpath z tego XPath Tutorial.

Wypróbuj block.at_xpath("*/img")["width"] lub */img/@width, jeśli jest tylko jeden element.

+0

Chyba masz na myśli '*/img/@ width'. –

+0

Ups. Naprawiłem to. – aus

+0

@Micheal, tak z tą małą edycją, zadziałało świetnie. Myślę, że w pierwszym przykładzie ma też dodatkowy paren. –

12

selektorów CSS wydają się być łatwiejsze i bardziej czytelne:

puts block.at('img')[:height] 
+2

Lub 'block.at_css ('img') [: height]' lub po prostu 'block.at ('img') [: height]'. – Phrogz

+0

Tak! Nie mogłem sobie przypomnieć, jak nazywa się ta metoda. Po zaktualizowaniu. –

Powiązane problemy