Automated Actions - fastaddons/GroupSpeedDial GitHub Wiki
Motivation
- some pages will log you out within hours, forcing you to click the "Login" button almost every time you visit them (work dashboard, Wifi router, etc...)
- or the page always loads into wrong section, and you need to scroll/click to see the important part?
These mundane tasks will no longer drain your productive energy! :)
How it works
Once you click a dial (or when a Live dial loads), Group Speed Dial will wait for the page to load, and perform the action for you.
All you need to do, is specify what to click... (more-less)
It's too complicated...
Well, yes, creating new automated action usually requires some basic HTML/CSS knowledge.
But I'm here to help!
If you need help, create new comment in this topic:
⚡ Q&A: Automated Actions - real wolrd examples ➡️
I know some HTML/CSS!
If you have the basic knowledge, don't stop reading.
Here you'll learn what's possible with some simple examples.
Conditions / Actions / Await
Actions are grouped into 3 categories:
Conditions
Conditions can be used to restrict action execution:
- URL is - the URL in the address bar must match perfectly
- URL contains - the URL must contain the specified text
- Title is - the page title must match perfectly
- Title contains - the page title must contain specified text
Example
If you want to run the actions only when the page redirects you to the login page, you can use "Conditions / URL contains":
Actions
- Click - performs "Click" on the specified element on the page (button, link, image, etc...)
- you can specify what element to click using CSS or XPATH selector
- Scroll - scroll the page by a specified number of pixels
Example
If you want to click a button with a text "Login", use "Actions / Click" action, and enter following selector:
Here we are using XPATH
selector:
//button[.//text()[normalize-space()='Login']]
Similarly, if you want to click a link with a specific text, use this XPATH
selector:
//a[.//text()[normalize-space()='Login']]
You can find more examples at the end of this article.
Await
Await actions are sometimes needed when the target page doesn't load "fully ready", and the button you want to click appears with a delay.
For these and similar case you can use:
- Timeout - wait a specified time (in ms) before continuing
- Wait for condition - wait for specific condition to be met (see Conditions section above)
- Wait for page load - if your previous action caused page to be reloaded (for example clicking a link), this will await it's load
Example
If you need to wait for the page to redirect you to login page, use "Await / Wait for condition":
Troubleshooting
When you click a dial and nothing happens, check the Actions log:
It will tell you which action failed and why.
Security
Due to security reasons, some actions are purposely limited.
Limitations:
- only a single Click action is allowed (lifted in version 28.4)
- no data input actions
- actions are executed only when you Left click a dial and the page loads in current tab
- actions are executed only after the page is fully loaded
Version 28.4 allows more than one click-action, but you'll have to enable "Allow multiple actions" checkbox on each device, after each change.