Hey Robert!
Running into a slightly more obtuse situation that I haven't been able to solve with either your solution or DOM calls.
I'm using the 'About' Widget and, within the widget's content-pane I have create buttons using <div> elements. I was hoping that a user would be able to click on a button from the panel and the widget launches -- unfortunately, since I'm basically editing the innerHTML of an element, I was able to get your solution working.
I then looked into some document.getElementBy... operations but it appears that div classes in WAB use settingid, not id and the classes change depending on whether the element is in focus, so I wasn't able to push a nested JS function that would simulate clicking the appropriate widget's icon.
Any ideas on how I could open a widget using an html button within the About widget?