Controls that .click() can be used upon in Synergy and CallScripter 4.5:
- Accordion - Start
- Back Button
- Button - Tabs
- Conditional Button
- External Data Source
- Toast Popup
- Toast Remove
- Web Frameset - Open
- Web Frameset - Close
Controls that .click() can be used upon in Synergy:
- Clear Data
- Mail Merge
- Outcome - Button
- Outcome - List
- Social Reply
Controls that .click() can be used upon in CallScripter 4.5:
- Button - Component Link
- Close Window
- Database - Get
- Report Runner (all variants)
- Toolbar Label - Add
- Toolbar Label - Remove
Prior to being able to .click()
a field, it must be passed through a function that returns the HTML object. Further details can be found here
In Synergy, the field needs to be wrapped in a Script.Utils.GetCSObject() function call before it can have .click() used upon it.
In CallScripter 4.5, the field needs to be wrapped in a getCSObject() function call before it can have .click() used upon it. Note the differing capitalisation.
In many cases (such as the External Data Source), when a field has .click()
which causes all field values to be refreshed and any Calculate fields on the page to run again.
This also means that if .click()
is used on a Button immediately after an External Data Source, or Script.Utils.Navigate()
is used immediately after using .click()
on an External Data Source, it is possible to leave the page prior to the External Data Source actually completing its triggered action. To avoid this issue, the suggested action is to only .click()
the External Data Source, and then have the External Data Source use Update Links
to trigger any follow-up actions when it has completed.
Use caution when .click()
fields to not trigger them repeatedly. Some fields (like the Email control) will trigger doCalculations()
upon completion and can be re-triggered by .click()
and this can lead to a loop where thousands of actions are queued. Ideally, .click()
should only be invoked from inside a "run once"
or similarly controlled method.