Keyboard Maestro not seeing web form elements on COVID vaccine pages

I’m trying to automate filling out sign-up forms for COVID vaccine appointments, because you have to go through several pages, submitting info, before they tell you whether or not there are any appointments available. This will probably go on for weeks, checking 5-6 different websites several times a day. I’d like to build a set of macros that checks them all every 5-10 minutes, 16 hours a day, to sound an alarm and send a text message if it ever gets to the end of a website’s form chain and doesn’t see the text, “Sorry there are no appointments available…”

Unfortunately, it appears many of these web pages have “forms” that aren’t real HTML forms. With a page displayed in Safari containing checkboxes, Keyboard Maestro’s “Set Safari Checkbox” action reports “No checkboxes found.”

Using the Safari Developer menu, and right-clicking to Inspect Element, I don’t see any HTML <form… elements. Perhaps they’re doing it with JavaScript, and thus Keyboard Maestro doesn’t see forms on the page?

These websites take you through 3 or 4 pages, sometimes adding new form elements just below a Next button you click. It may be more than KM’s Safari actions can handle. But otherwise, I’m reduced to iffy “Found Image” actions.

Here’s an example: https://www.mhealthappointments.com/covidappt

I can’t get KM to see the zip code field or the radio buttons below.

Any ideas on how I can automate filling out these pages without using “Found Image” actions?

Thanks,
Russell

P.S. I posted this issue on the Keyboard Maestro forum, and have many views, but no responses after 24 hours.

What an interesting problem to automate :+1:

For this, I would use a more appropriate tool for the job - Selenium.

Selenium is built solely for website automation and is very powerful. Is is often used by web developers for testing web applications by simulating button presses, text input etc. It works by getting the DOM (html and css code) from a website and selecting elements for interaction by their types, paths, and attributes (e.g. “a button with id=submitButton contained inside a div with id=formaContainer”.

You can use Selenium with a large number of programming languages, but I suggest Python for its ease-of-use.

I think this tutorial should get you started: (link).

Stay safe!

P.S. Welcome to the community! :partying_face:

Alternatively, Fake.app is quite helpful for automating web forms.

https://fakeapp.com/documentation/

Thanks. It’s amazing what’s out there in the software world!

This looks like the best tool for @rbanks88. It’s probably more user friendly than my suggestion and will probably get the job done.

The main caveat is that it costs $30 while Selenium is free.