Selenium. Как кликнуть только по определенным подклассам, если родительские классы повторяются?

Дана структура:

<div class='N'>
    <div class='S'></div>
    <div class='S'></div>
    <div class='S'></div>
</div>
<div class='N'>
    <div class='S'></div>
    <div class='S'></div>
</div>
<div class='N'>
    <div class='S'></div>
    <div class='S'></div>
    <div class='S'></div>
    <div class='S'></div>
</div>

Как можно кликнуть только по классам class='S' из второго по очереди class='N'? Если делаю вот так:

A = driver.find_elements_by_xpath("//div[@class='N'][2]")
i = A[0].find_elements_by_xpath("//div[@class='S']")
                print(len(i))
                for j in i:
                    j.click()
                    time.sleep(2)

То все равно кликать начинает с первого class='S' в первом class='N', а print(len(i)) выводит 9, а не 2. Подскажите, пожалуйста, как можно решить проблему?

P.S. классов N, не всегда будет 3, и количество классов S в них будет всегда по разному.

P.S. попробовал вариант:

 driver.find_elements_by_xpath("//div[@class='N'][2]/div[@class='S']")

ничего не находит, но без [2] работает правильно, находит как и раньше все 9 class='S' от всех class='N'


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