2014-06-28 11 views
5

Vì vậy, nếu tôi có đoạn mã nàyChọn phần tử bằng giá trị thuộc tính với XPath trong Nokogiri

<body> 
    <div class="red"> 
    <a href="http://www.example.com>Example</a> 
    </div> 
</body> 

tôi biết rằng tôi muốn có được một yếu tố với "đẳng cấp" thuộc tính và giá trị "đỏ" nhưng tôi don Không biết vị trí của nó.

Nếu tôi sử dụng XPath, đoạn mã này có đúng không?

dir = "http://www.domain.com" 
doc = Nokogiri::HTML(open(url)) 
doc.xpath('.//*[class="red"]') 

Tôi chỉ đang học vì vậy tôi không biết nếu điều này là sai. Tôi không thể làm cho nó hoạt động được. Cảm ơn.

Chỉnh sửa: = Bây giờ nó làm việc)

doc.xpath('//*[@class="red"]') 
+1

phải là @class. Ban đầu * dấu chấm * không có ý nghĩa trong trường hợp này. –

+0

http://stackoverflow.com/questions/2901241/how-to-access-attributes-using-nokogiri – dmitry

Trả lời

9

Thay đổi lớp để @class. Loại bỏ dấu chấm ở đầu. Sau đó, nó sẽ làm việc.

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