Hacker News new | past | comments | ask | show | jobs | submit login

Events are the bane of automation existence.

Back in Windows-heavyweight app land, it made way more sense to interpose a low overhead shim to intercept and copy events.

I can't imagine the pain you'd encounter trying to paper over the other way around.




> Events are the bane of automation existence.

They do make some tasks tricky to handle, like tracking state, or avoiding race conditions, but in reality events are a good fit for interacting with browser DOM events, representing browser activity, and being able to react to it.

Consider the complexity of an average modern web site, that loads dozens of scripts, uses a frontend framework, is highly dynamic and interactive (likely a SPA), contains multiple frames, etc. All of this happens concurrently, and the only abstraction that makes sense to represent it is an event-based system. You can't achieve the same level of responsiveness using a traditional request/response protocol.

This is why modern browser automation protocols are event-based, and built on top of WebSocket. Selenium is pushing for WebDriver BiDi, while the browser standard is the Chrome DevTools Protocol.


That wasn't an argument against events! It was an argument against the futility of not being able to sit in the middle (-ing) of them, for automation.


Ah, apologies, I misread.

Fully agree then. The only sane way to handle browser automation is by exposing all of them.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: