diff options
| author | Sadeep Madurange <sadeep@asciimx.com> | 2026-05-04 09:01:42 +0800 |
|---|---|---|
| committer | Sadeep Madurange <sadeep@asciimx.com> | 2026-05-07 09:57:01 +0800 |
| commit | 35c999ea426a5f0b32e2b5d5bab5fe010ea9ce97 (patch) | |
| tree | f5365289bf1fc4d9d660b9699b3f60a790dfa1ed /_log/bumblebee.md | |
| parent | fb15536326a8d5b3187981b0036df65f4bb60996 (diff) | |
| download | www-35c999ea426a5f0b32e2b5d5bab5fe010ea9ce97.tar.gz | |
Improve accuracy of framing.
Diffstat (limited to '_log/bumblebee.md')
| -rw-r--r-- | _log/bumblebee.md | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/_log/bumblebee.md b/_log/bumblebee.md index 21a9a07..bbe0490 100644 --- a/_log/bumblebee.md +++ b/_log/bumblebee.md @@ -1,16 +1,16 @@ --- -title: Built a browser session script synthesizer +title: Built a browser automation script synthesizer date: 2025-04-02 layout: post project: true thumbnail: thumb_sm.png --- -One year at trading firm. Webscraper is giving too many problems. CPUs are +One year at the trading firm. Webscrapers are causing problems. CPUs are saturated, servers are stalling. -2025-02: Built Bumblebee, a C# WinForms application, to record browser sessions -and automate the synthesis of scripts. +2025-02: Built a C# WinForms application to record browser sessions and +automate the synthesis of scripts. <video style="max-width:100%; margin-bottom: 10px" controls="" poster="poster.png"> <source src="bee.mp4" type="video/mp4"> @@ -20,8 +20,7 @@ Hosted WebView2 (Edge) in the WinForms application to render web content. Intercepted events by injecting JS hooks to web pages (client-side events) and listening to WebView events (internal browser events). Converted intercepted -events to Selenium code by sending through if-else statements. Crude—no time -for something better. +events to Selenium code by sending through if-else blocks. Implemented a basic optimizer to squash event sequences into single commands (e.g., calendar clicks → text input), use heuristics to improve DOM addressing @@ -30,11 +29,11 @@ Implemented a basic optimizer to squash event sequences into single commands Integrated Scintilla.NET editor to allow user more control over the generated script. -Events and code are stored in two linear lists. Mid-session manual edits desync -the lists, block the optimizer. ASTs are overkill for now. As a workaround, -only edit scripts at the end of recording. +Events and code are stored in two linear lists. Without ASTs, mid-session +manual edits desync the lists, block the optimizer. As a workaround, only edit +scripts at the end of recording. -2025-03: Shipped the first iteration and began work on key optimization: bypass +2025-03: Shipped the first iteration. Began work on a key optimization: bypass the browser, grab data files directly when possible. 2025-04: Abandoned project. Left the firm. |
