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'