It could be the solenoid, for all the cost involved I would change this first. The next time it does this, give the solenoid a crack with screwdriver handle or similar, if this fixes the problem change it.

It could also be the ignition switch. I had a similar problem with an old Citroen and it was the ignition switch. Starter motor is also easily and cheaply overhauled.

It could slso be the battery, modern batteries can go like this when near the end of their life. I change a battery after 5 years (if it lasts that long!!) as a matter of routine maintenance.