I would like to be able to interact with html webpages from C# or Java. Basically I would like to load the page and display it (just as it would be displayed in a browser) and be able to highlight and select text by index, tag, word etc (which would be passed back into my program) and manipulate.
I am not interested in manipulating HTML directly. When my program highlights and selects text I want to see only text that would be visible to a user viewing that webpage.