У вас в заголовке вопроса ошибка. following это после узла. Правильно выражение будет таким:
//li[div/a]/(preceding-sibling::li|self::li)
Если есть какое-то непонимание в данном выражении, то спрашивайте. Могу пояснить на каждом шаге адресации.
Есть есть желание глубже разобраться в XPath, то рекомендую вводное видео:
XPath это сильно!