В данном предложении необходимо выбрать между Past Simple и Present Perfect Continuous.
Past Simple (were) используется для действий, которые произошли в прошлом и завершились.
Present Perfect Continuous (have/has been + V-ing) используется для действий, которые начались в прошлом и продолжаются до настоящего момента, либо только что закончились, но их результат виден сейчас.
Фраза "for three hours now" указывает на продолжительность действия, которое началось в прошлом и продолжается до сих пор. Таким образом, необходимо использовать Present Perfect Continuous.
Правильный вариант: We 've been at the shops for three hours now!
Ответ: We 've been at the shops for three hours now!