основная проблема с селекторами css, потому что есть три структуры для html
1-первая структура для первых 12 флажков
2-секундная для первого флажка после щелчка показать далее
3-ий при нажатии на первый флажок после показа больше все структура изменится и будет включать в себя весь флажок
(я не использовал третью часть, потому что это сделает код так долго и я хочу сократить код)
, поэтому попробуйте этот код, после того, как вы установите флажок, вам нужно будет нажать кнопку Очистить, поэтому я думаю, что этот код будет полезен
first_part = 12
while first_part <=12:
#click on category checkbox
driver.find_element_by_css_selector('#widgetFilters > div:nth-child(1) > div.a-row.a-expander-container.a-expander-inline-container > span:nth-child({}) > div > label'.format(first_part)).click()
driver.implicitly_wait(3)
time.sleep(3)
#clear filter
driver.find_element_by_css_selector('#widgetFilters > div:nth-child(1) > span > div > a').click()
driver.implicitly_wait(3)
time.sleep(3)
#print text of checkbox category
print(driver.find_element_by_css_selector('#widgetFilters > div:nth-child(1) > div.a-row.a-expander-container.a-expander-inline-container > span:nth-child({}) > div > label'.format(first_part)).text)
first_part+=1
second_part = 1
while second_part <= 26:
#show more
driver.find_element_by_css_selector('#widgetFilters > div:nth-child(1) > div.a-row.a-expander-container.a-expander-inline-container > a > span').click()
driver.implicitly_wait(2)
time.sleep(2)
#print text of checkbox category
print(driver.find_element_by_css_selector('#widgetFilters > div:nth-child(1) > div.a-row.a-expander-container.a-expander-inline-container > div > span:nth-child({}) > div > label'.format(second_part)).text)
#click on category checkbox
driver.find_element_by_css_selector('#widgetFilters > div:nth-child(1) > div.a-row.a-expander-container.a-expander-inline-container > div > span:nth-child({}) > div > label'.format(second_part)).click()
driver.implicitly_wait(3)
time.sleep(3)
#clear filter
driver.find_element_by_css_selector('#widgetFilters > div:nth-child(1) > span > div > a').click()
driver.implicitly_wait(3)
time.sleep(3)
second_part+=1