1 vote
I would very much like to see an addition to the excellent typing macro options, similar to {WAITFORWINDOW:????}. This feature only works with traditional window titles.
I think it would be nice to have RDM detect the loading of a specific ID inside a webpage. It would then be possible to run a typing macro that only triggers once that ID has loaded.
As an example, say a webpage loads a page with <div id="user-properties">. The typing macro could then read: {WAITFORID:user-properties}{TAB}{TAB}$MACRO_PASSWORD${ENTER}
For the moment, I use {DELAY:????} with various timeouts, but this is often hit or miss, bc sometimes the page loads slower (like the first time in a session). I have therefore set large delays, but once the cache kicks in, the page loads much faster and you just sit there and wait for the timeout.
Would it not be nice to have the macro kick in as soon as the webpage shows that element, regardless of the time it took to display it?
Anyone agree? Please +1 in that case ;)
I want to thank the devs at Devolutions for giving us great tools!
Hello,
I would be curious to know more about your setup, as this is basically what the browser extension and the auto-fill features accomplish. I confirmed with our expert on the browser extension, and he said that in his tests there is one where the site takes around 5 seconds to load, and the extension is able to properly autofill the information.
Is there a reason you need to use macros rather than the included auto-fill features? On a technical level, I don't think it would be trivial to implement something like this for the macros, so I'm wondering if another solution could work for you.
Regards,
Hubert Mireault
Hello Hubert,
Thank you for your response.
I have the browser extension installed, but despite that, there are several scenario's where this does not work satisfactory. For instance with a Synology NAS with DSM. The login page is a two-step affair, where first the login name is asked and a button needs to be pushed, followed by a second screen that asks for the password and another button. Non of these are in traditional HTML codes, like "form id=name" or "input type=button", etc. They are in <dif> elements and DO use id's. The ID's are different for both login pages however. Hence my ID to have RDM wait for an element to be loaded and then proceed to enter the required information, followed by another wait for the next element to load, etc.
Another scenario is Proxmox VE, where the login does not work correctly, mostly because - again - the devs of that product do not use "traditional" html elements. Still other products use Java or a combination of Java and html, etc.
My thought was that all of these scenario's could be resolved by this single solution: WAITFORID or WAITFORELEMENT.
It was just a thought. I can get by with typing macro's but that is sub optimal IMHO.
Thank you again for your efforts.
Regards,
Martin
Hi,
For the HTML Element ID, it is not limited to the id attribute. You can also use the name attribute and, as a last resort, the placeholder value.
If the Synology NAS with DSM uses a login page similar to https://signin.synology.com/, the id attributes are dynamic, but the name attributes appear to be static. This means they can be used as HTML element identifiers. In this case, the username field would use username as the HTML Element ID and the password field would use password.
For Proxmox VE, do you know if the login input fields have stable HTML identifiers, such as a name attribute or a placeholder value, that you can use?
For the other products that rely on Java, or a combination of Java and HTML, if the login form is displayed in an HTML page but the actual input fields are inside a Java applet, it is currently not possible for a browser extension to interact directly with those fields. We would need to investigate these cases further to see if there is a way to support them without relying on the DELAY macro options.
Best regards,
Olivier Désalliers