Клик по всем элементам кроме семи последних

Код кликает по всем .lmc__block, но как сделать так, чтоб клик производился по всем элементам, кроме последних семи элементов?

for country in driver.find_elements_by_css_selector(".lmc__block"):
    if country.is_displayed():
        country.click()

Ответы (2 шт):

Автор решения: Zhihar

что мешает работать как со списками и сделать срез?

driver.find_elements_by_css_selector(".lmc__block")[:-7]

или если нужно только по отображенным отработать, то:

for country in [obj for obj in driver.find_elements_by_css_selector(".lmc__block") if obj.is_displayed()][:-7]:
    country.click()

P.S.

а разве find_elements_by_css_selector не считается устаревшей и вместо нее лучше использовать find_elements?

→ Ссылка
Автор решения: ganz
res=[] #итоговый список
driver.find_elements_by_css_selector(".lmc__block"):
    if country.is_displayed():
        res.append(country) #наполняем список элементами

res=res[:-7] #укорачиваем список
for it in res:
    res.click() 

Так или иначе получаем список со всеми элементами, затем производим манипуляции (укорачивание), и кликаем. Так же есть вариант с применением функции filter и генератором.

→ Ссылка