2016-03-19 3 views
1

das ist mein x WegWarum bringt dieser x Pfad nur einen Wert?

normalize-space(.//li[@class='amenities_details']/span[normalize-space(.)='Amenities:']/following-sibling::span[1]/ul//li/span/div/@title) 

und dies ist der html

enter image description here

bekomme ich nur die Balcony obwohl ich // vor dem li setzen, was soll ich tun, alle zu bekommen Text, die in der ul bitte sind? (Ich brauche sie in einer Liste)

Antwort

1

Nur normalisiert nicht Raum:

>>> response.xpath(".//li[@class='amenities_details']/span[normalize-space(.)='Amenities:']/following-sibling::span[1]/ul//li/span/div/@title").extract() 
[u'Balcony', u'Pets Allowed', u'Gymnasium', u'Children\u2019s play area', u'Mosque', u'Shared swimming pool', u'24 hours Maintenance', u'Basement parking', u'Central air conditioning', u'Basketball Court'] 
+0

Danke es funktioniert, bitte ist dies Wegthema? Warum schließen sie die Frage? –

+0

@MarcoDinatsoli mach dir keine Sorgen darüber - ich persönlich denke deine Frage ist klar und hat alles zu beantworten. – alecxe

+0

Danke, @ Alecxe –

1

Abgesehen von nicht Normalisierungs Raum, was erwähnt alecxe, können Sie weiterhin Ihren XPath-Ausdruck vereinfachen.

//li[@class='amenities_details' and span[contains(text(), 'Amenities:')]]//ul/li/span/div/@title 

gibt auch die erwartete Ausgabe:

[u'Balcony', u'Pets Allowed', u'Gymnasium', u'Children\u2019s play area', u'Mosque', u'Shared swimming pool', u'24 hours Maintenance', u'Basement parking', u'Central air conditioning', u'Basketball Court']