2009-08-05 20 views
11

ile ben gibi bir html elemanı vardır: Ben kimliğine göre bu element için aramak istediğinizBul etiketi Nokogiri

<div id="spam[500]"> 

, ama o kadar Nokogiri [] karıştı yok gibi görünüyor. Denemek için:

doc.css("#spam[#{eggs.id}]") 

ama boşuna.

cevap

14

Chris, denemek ve eğer çalışırsa bana bildirin:

doc = Nokogiri::HTML(page) 
el = doc.xpath("//div[@id='spam[500]']").first 

sorun (hatta tarayıcıda) CSS üzerinden erişemez olmasıdır. "Spam [500]" için bazı CSS özelliklerini ayarlamayı deneyin ve uygulanmayacaklar. Ancak, yukarıda gösterildiği gibi xpath yoluyla erişebilirsiniz. Burada

+0

Çalışıyor. Teşekkürler. –

1

ayrıca elemanları ha için bu şekilde

el = doc.xpath("id(spam[500])").first 

yapabilir) www.w3.org//TR/html401/struct/global.html#adef-id bakmak ving kimliği, her zaman benzersiz olduğu için onları doğrudan kimlik yoluyla çağırabilirsiniz. Xpath'ları bulmak için, lütfen bir 'xpath denetleyicisi' eklentisini firefox'a ekleyin. Çok ve çok kolay bir şekilde yardımcı olur.