I’d suggest using some selector like this
"(//td[contains(@class,'day') and not(contains(@class,'disabled'))])[1]"
This selector is using XPath – it matches any td element, which has ‘day’ string in its class atribute but doesn’t contain any ‘disabled’ string.
The number in the end [1] is order of element selected, when multiple elements match the selector. Starting at 1 (not zero).
solved Write a test that clicks on a date