Мне кажется с этим не должно быть проблем.
В данной ситуации вся коллекция книг. Хранится в ul[@id='goods-table'].
Чтобы получить количество всех книг получаешь число элементов:
int countOfBooks = driver.FindElements(By.XPath("//ul[@id='goods-table']/li")).Count;
А дальше по нисходящей(Восходящей), в цикле, проверяешь каждый элемент. Выбираешь путь до div[@id='item-type-card__cost'] и получаешь аттрибут textContent из тега <strike> в диве.
С помощью методов работы с текстом убираешь из тега ".руб" и пробелы и преобразуешь все это дело в int.
Ну а int уже сравниваешь с предыдущим.
По полям. Путь до названия и прочих кнопок везде одинаковый, так что вполне можно создать методы для работы с ними.
Думаю в вашей ситуации отличий от данного магазина быть не должно. Хотя возможно разметка будет более сложная.