C#側からすでに開いているEdge画面を操作する方法についてご教示願います。

やりたいこと

①すでに開いているEdge(複数画面)から、一つの必要な画面を特定する
②Edge画面のDOMを取得する
③Edge画面の項目の値を検証し、間違ったら、該当項目に色を付ける
④C#からEdge画面の遷移を発生させ、必要なデータを取得してから、
 元のEdge画面に戻る。
⑤Edgeの画面でのボタン押下(Link 押下)イベントを検知し、
 押下するタイミングに合わせて、C#側で処理を行わせる

Selenium WebDriverから操作しようとしたが、既存Edge画面を一回閉じて
WebDriverからEdgeプロセスを新規で起動して、必要な画面を開かなければならない。

(現在の調査では)WebDriverからは【やりたいこと①】を実現できませんでした。

質問

  1. SeleniumWebDriverから既存Edge画面を閉じずに、そのままキャッチして、
    DOMを取得し、更に、該当項目に背景色つけることは可能でしょうか?

  2. 他にネイティブ部品、もしくは、サードパーティ製の部品で、
    やりたいことを実現できる方法はあるでしょうか?

  3. セキュリティの側面からして、そもそも、EdgeはIE11(mshtml.dll、
    SHDocVw.InternetExplorer等で操作する)のように外部操作できないでしょうか?