By Ilya Grigorik on April 09, 2012 Instrumenting a browser is not for the faint of heart: half a dozen of different API's, different IPC mechanisms, and different capabilities from each vendor. Projects like WebDriver try to abstract this complexity for us, and you can also find dozens other "headless" drivers leveraging WebKit or similar engines. There is now even a W3C WebDriver spec in the work
![Driving Google Chrome via WebSocket API - igvita.com](https://cdn-ak-scissors.b.st-hatena.com/image/square/8e16b21b5c9af751b023e495018b73ddbc36a7a0/height=288;version=1;width=512/http%3A%2F%2Fwww.igvita.com%2Fposts%2F12%2Fchrome-logo.png)