Я не верю, что объяснение блога верно. Спецификация здесь:
http://www.w3.org/TR/CSS2/cascade.html#specificity
«Точки» из селектор классов не может быть более важным, чем селектор «id». Это просто не работает.
@ Комментарий Джеффа был почти идеальным, но с недостатком. Вы можете использовать следующее решение:
try:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "li:not(.disabled)>a[data-page='next']"))).click()
print("There is another page.")
except TimeoutException:
print("No more pages")
break