2011-09-22 6 views
5

Aquí está el código que estoy usando:HTML en Nokogiri

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

Y esta salidas:

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

Lo que quiero hacer es obtener el atributo de anchura del html, pero parece que no puedo hacer que eso también funcione. Creo que necesito poner ['width'] en algún lugar de mi código, y he intentado seguir varios ejemplos en línea, pero no pude hacerlo funcionar.

Respuesta

6

Eche un vistazo a la sintaxis xpath de este XPath Tutorial.

Pruebe block.at_xpath("*/img")["width"], o */img/@width si solo hay un elemento.

+0

supongo que quiere decir '*/img/@ width'. –

+0

Vaya. Lo arreglé. – aus

+0

@Micheal, sí con esa edición pequeña que funcionó muy bien. Creo que también tiene un par adicional en el primer ejemplo. –

12

selectores CSS tienden a ser más fácil y más fácil de leer:

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

O 'block.at_css ('img') [: height]' o simplemente 'block.at ('img') [: height]'. – Phrogz

+0

¡Sí! No podía recordar cómo se llamaba ese método. Publicación actualizada –

Cuestiones relacionadas