Question #267957 on Sikuli changed: https://answers.launchpad.net/sikuli/+question/267957
Zeks posted a new comment: 9) Abstract away interface elements such as buttons and table cells When you write click(Pattern('send.png')) what you really want is to click on button, not on screenshot. And buttons have states. A button can be pressed, hovered or cleaned, same with table cells. Instead what will save you time is: clickEntity('button') the clickEntity function you will have to write yourself. It needs to match not one, but 3 screenshots and give/click the best match. How it will do that is debatable. I, at the moment, do stuff like this buttons = ['send', {name = 'send', states = ['clean', 'hovered', 'pressed']}] In the folder there are files send_clean.png, send_hovered.png... So if I have a send window it is implemented in Send module and used as Send.clickEntity('send') The function iterates over buttons dictionary, creating names as it goes and tries to find each one. The result? Where you'd likely have to write in the main script(each time): click(Pattern('send_clean.png')) if not click(Pattern('send_hovered.png')) if not click(Pattern('send_.png')) it becomes simple Module.click('entity') this helps both readability and abstraction and will likely save you a lot of time -- You received this question notification because you are a member of Sikuli Drivers, which is an answer contact for Sikuli. _______________________________________________ Mailing list: https://launchpad.net/~sikuli-driver Post to : sikuli-driver@lists.launchpad.net Unsubscribe : https://launchpad.net/~sikuli-driver More help : https://help.launchpad.net/ListHelp