I have started another project. I know, i have way more irons in the fire than I can possibly handle. But this one is a good one, and deserves the attention. Browser Automation, tends to be used for testing, automating repetitive tasks, and all sorts of SPAMMING. I will let you're imagine decide how this tool can be used.
First, this is not a FOSS Project. I am going to be using this for myself, and potentially selling it, if I can come up with a good market strategy.
Now to the features. There are lots of automation utilities around, many are really good but, none have the exact features I am looking for.
- Intelligent Macro Recorder.
- Macro Logical Flow Control (Conditional Branching).
- Content/Context Aware Macro Execution.
- Saved Profile Management (Session, Cookies, Cache; Per Profile)
- Built in P2P Macro Sharing.
- Per Profile Macro Execution
- Multiple Profile Macro Execution (Parallel Macro Execution)
- Script-able Macro Calls
The simplified roadmap is:
- Enable browser context to be separate
- Basic Profile Management
- Create new Profile
- Delete existing Profile
- Start Browser Instance Using Profile
- Attach external data to Profile (This can be used for website login information, preferences and even data storage for Macros)
- Create basic Macro VM (Script Engine of a sorts)
- Load context of current Profile
- Define basic "Blocks" via script language (JS, or Boo?)
- Call Blocks from Macro command
- Macro Commands and Blocks are passed the next Macro Command(s) to be executed (Useful for loop and conditional flow)
- Scripted Plugin system to distribute custom functionality and configurations for specific uses.
I was originally going to develop this program in Pascal using FreePascal and Lazarus, using the fpCEF3 library. However there are lots of details about CEF which I am not familiar with. This mixed with the lack of any documentation for this library, I have decided to use C# and CEFSharp. This is a .NET wrapper for the same C/C++ library, and contains tons of documentation (Official and Community). With a good size community around CefSharp, I am sure I will get help or at least pointed in the right direction when needed.
That's all for now. Thanks,