سؤال

ولدي هذا السيناريو -

import lxml
from lxml.cssselect import CSSSelector
from lxml.etree import fromstring
from lxml.html import parse



website = parse('http://example.com').getroot()


selector = website.cssselect('.name')


for i in range(0,18): 
    print selector[i].text_content() 

وكما ترون الحلقة for يتوقف بعد عدد المرات التي ذكرتها مسبقا. أريد لحلقة لوقف إلا بعد أن تمت طباعة كل شيء.

هل كانت مفيدة؟

المحلول

وطريقة CSSSelector.cssselect () بإرجاع iterable، لذلك يمكنك القيام به فقط:

for element in selector:
    print element.text_content()

نصائح أخرى

وماذا عن

for e in selector:
    print e.text_content()

وأتوقع تريد لحلقة مثل:

selectors = website.cssselect('.name , .name, .desc')

for selector in selectors: 
    print selector.text_content()
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top