Created a casperjs / phantomjs script to automate ical subscriptions without the need of the google calendar API.
More robust version of the casperjs module. Now functions don't trigger based on timeouts but on events. Only when the selectors become available, the step is completed.

There is a timeout set at 4 seconds, which is what I considered long enough to abort the process.

There is no way to distinguish between duplicate additions or other random errors, which could be improved.