Oh dearie me, of course it works. It was my fault for calling click() on the default <option>, which made it look like nothing had changed.
–
John KeyesJul 7 '11 at 10:30

My test doesn’t work with option.click(), but it does work with option.select(). In the latest webelement.py source, select has been removed, and click must be used in it’s place. It will be interesting to see if my test works with the latest release.
–
John KeyesJul 7 '11 at 10:58

1

Accepted solution is VERY SLOW. I recommend @Daniel Abel solution. It would be nice if OP accepted it, it keeps gaining upvotes.
–
Peter MasiarFeb 5 at 21:38

Using this approach is also the fastest way. I wrote fast_multiselect as analogous function to multiselect_set_selections. On a test with 4 calls to multiselect_set_selections on lists of about 20 items each, the average running time is 16.992 seconds, where fast_multiselect is only 10.441 seconds. Also the latter is much less complicated.