At work, one of my job tasks is e-discovery, which means logging in to an email archive web application, doing searches, and tagging the items that meet the search criteria. The web application was originally written by one guy (I think) and although the back-end stuff is amazing, the actual web pages I interact with are twitchy. There are more than 110 million emails in this archive; and the search and indexing features are great. But the results pages? Sometimes I have to deal with a lot of them, and the smart way to go is automation.
(As I write this, the one automation script is working it’s way through 88 pages of results, and the script tells me it will likely be done in about 15 minutes)
When I say the results pages are twitchy, what I mean is that the buttons on the page move, after they have been clicked. Usually, but not always – and that is dependent on the web browser.
I’m using WinBatch to automate driving the web page. Specifically, there is a start cycle process, where I go through the motions of which buttons to press; but, I don’t press them, WinBatch does. To signal WinBatch that the mouse co-ordinates are correct, I tap the Shift key. There is a super tight loop in the WinBatch script which is recording where the mouse pointer is (it’s a 1000 * 1000 virtual x-y coordinate system). It reads the x-y coordinates, checks to see if the Shift key has been depressed, and if so, it records the coordinates for that button, and then moves through to the location of the next button that needs to be defined.
So, under Google Chrome, the web page is the least twitchy. But Google with their Chrome browser are a bunch of rat-bastard bullies, so I can’t really use it. We have an internal (private) domain name, which means our SSL certificates are self-signed. Yeah, Google Chrome hates on that. Most recently, the problem is that the server is old. We ran into a problem trying to upgrade, so we didn’t. But that means the SSL on the web page is TLS 1.2 – to which Google helpfully tells me to go kick rocks.
Okay, what about my favorite browser, Firefox? It is the most friendly when it comes time to just get things done; but, it is the most twitchy. Sometimes the email archive server gets in a state where the web page dialog boxes pop up off screen; this only happens with Firefox. I had actually opened up a technical support ticket with the email archive vendor for this, and they told me to stop Tomcat, Apache, MySQL, empty a cache directory, and start everything back up. That worked, so the vendor never actually tried to figure out what was going wrong. Recently, I’m having to share the server with people doing email exports, so I can’t just willy-nilly bounce the services. If the services have been bounced recently, Firefox works fine. But if it’s been a few days, then I can’t. I don’t want to re-write a portion of my WinBatch script to try to find the top of the web page, then the bottom of the web page, just to support this twitchy behavior by Firefox.
Okay, what about Microsoft’s Edge browser? It’s based on Google Chrome, so it might have better HMTL element layout like Chrome has. Alas, during the loop to track where the mouse pointer is, Edge just really doesn’t like refreshing the screen / sharing anything with any other program (WinBatch). So I could not actually get the location of the buttons on the web pages to play the mouse clicks back later.
Finally, I have tried the Brave web browser. I’m not terribly fond of it. It looks to me rather like a front by Google to try to get people who are suspicious of Google’s privacy violating lifeblood to use the Chrome browser anyway. But, it has the advantage of being based on the Chromium engine (which creates the least amount of twitch).
Nicely enough, it isn’t trying to be the bully that gives me the finger for trying to access a self-signed cert web site over TLS 1.2. I can actually get work done now.
Weirdly, it’s the only browser that causes the “Next” button (to advance to the next page of search results) to twitch horizontally. I need to position the mouse pointer over the “t” in Next, let go of the mouse, and tap the Shift key to set the position. Sometimes the Next button shifts to the right, and sometimes it does not. But if it does, then when the mouse pointer gets played back to the same position, is still over the “N” in Next, and the button press does work.