On Sun, 18 Sep 2016 08:42 pm, Paul Rubin wrote:
> Lawrence D’Oliveiro <lawrenced...@gmail.com> writes:
>>> lot of ways: OLE and COM objects back in the day, .NET currently,
>> None of the different ways of which are either a) compatible or b)
>> widely supported. Particularly not in Java, as the OP was asking.
> I'm quite sure there are Java bindings for all those protocols.
>> Like I said, trying to automate a GUI is a waste of time. GUIs are
>> designed for humans, not computers, to use.
> Automation doesn't simulate button presses or anything like that: the
> automate objects expose higher level user actions. E.g. the web browser
> object has a navigate method and that sort of thing.
Rather than saying that it *doesn't*, it might be better to say that it
doesn't *necessarily* simulate button presses.
The thing about simulating button presses is that:
(1) you can absolutely guarantee that it does exactly the same as what
happens when a user clicks the button, because there's no difference
between a mouseclick event caused by a human clicking the mouse, a
mouseclick event caused by a robot clicking the mouse, and a mouseclick
event generated by software. They're ALL generated by software, and the
application cannot tell them apart.
(2) It works even if the application doesn't offer an OLE, COM or scripting
“Cheer up,” they said, “things could be worse.” So I cheered up, and sure
enough, things got worse.