2011-09-22 45 views
5

Đây là mã Tôi đang sử dụng:Truy cập HTML thuộc tính trong Nokogiri

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

Và kết quả đầu ra này:

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

Những gì tôi muốn làm là có được thuộc tính chiều rộng ra khỏi html, nhưng tôi dường như không thể làm được điều đó. Tôi nghĩ rằng tôi cần phải đặt ['width'] ở đâu đó trong mã của mình và tôi đã thử làm theo các ví dụ khác nhau trực tuyến nhưng không thể làm cho nó hoạt động.

Trả lời

6

Hãy xem cú pháp xpath từ XPath Tutorial này.

Hãy thử block.at_xpath("*/img")["width"] hoặc */img/@width nếu chỉ có một phần tử.

+0

Tôi đoán bạn có nghĩa là '*/img/@ width'. –

+0

Rất tiếc. Tôi sửa nó rồi. – aus

+0

@Micheal, vâng với bản chỉnh sửa nhỏ, nó hoạt động rất tốt. Tôi nghĩ anh ấy có thêm một paren nữa trong ví dụ đầu tiên. –

12

selectors CSS có xu hướng dễ dàng hơn và dễ đọc hơn:

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

Hoặc 'block.at_css ('img') [: height]' hoặc chỉ 'block.at ('img') [: height]'. – Phrogz

+0

Có! Tôi không thể nhớ phương pháp đó được gọi là gì. Đã cập nhật bài đăng. –

Các vấn đề liên quan