Yes, amid COVID-19 trying to get Whole Foods and Amazon Fresh delivery slots can get cumbersome. To free you off the constant hassle of checking for slots (and almost never finding one), this automated script can notify you (yes notifies you verbally, so you can go about your tasks) of when new delivery slots open.
Supports MacOS, Linux, and Windows.
The script works on Chrome (whole_foods_delivery_slot_chrome.py
for Whole Foods) (amazon_fresh_delivery_slot_chrome.py
for Amazon Fresh) and FireFox (whole_foods_delivery_slot_firefox.py
) for now. This does not support "Autobuy feature".
Note, use the whole_foods_delivery_windows.py
for Windows. Also, only for this OS, you'll have to install an additional package winsound
If you'd like the script to select the first available time, and proceed all the way through checkout, please use the whole_foods_delivery_autobuy.py
.
It initializes a webdriver, for which if you don't have one install it from: https://chromedriver.chromium.org/ for Chrome and https://github.com/mozilla/geckodriver/releases for FireFox.
You'll have to update the path of the this installed webdriver under: python driver = webdriver.Chrome()
if its not the default location your OS needs. Similarly, for FireFox python driver = webdriver.Firefox(executable_path="<your-webdriver-path>")
Script was written on Python 2.7.10
The script works after you have added all the items to your cart! Note, have your cart ready before running this script! Also, please don't let your computer sleep. Let your computer do the work, while you sleep
Walkthrough for Chrome for Whole Foods, follow same steps if running on FireFox with the FireFox script
$ pip install -r requirements.txt
)$ python whole_foods_delivery_slot_chrome.py
)For people with no background with coding there is this amazing post out there.
Note, I haven't written this blog, but I'd like to thank the person (don't who they are) who wrote it.
Screen 1
Screen 2
Screen 3
Screen 4
Screen 5: Leave script running on this screen!
If say is not native to your OS. Please try using winsound. Comment/delete the code in the script that has os.system('say...')
and incorporate the following snippet:
import winsound
duration = 1000
freq = 440
os.system('say ...')
winsound.Beep(freq, duration)
As an example, you can look at any of the Windows scripts. Also, there are certain issues in this repository revolving around this issue that have been solved. Please feel to check them out too. Meanwhile, if you'd not like to edit, there is a PR: https://github.com/pcomputo/Whole-Foods-Delivery-Slot/pull/32, you can try to switch to that branch to get audible notifications. I'm in the testing phasing of this PR.