A while ago I was looking for something that's cross-platform (Windows and macOS) so decided to check out CE4. For me, it was extremely difficult to work with, if the goal is to use it for automation.
I ended up using TWebBrowser in FMX and wrote a bunch of helper methods for both platforms, one of the most critical being:
// macOS
class function THTMLHelper.GetBrowserDocument(const ABrowser: TObject): DOMDocument;
var
LWebView: WebView;
begin
Result := nil;
if Supports(ABrowser, WebView, LWebView) then
Result := LWebView.mainFrame.DOMDocument;
end;
// Windows
class function THTMLHelper.GetBrowserDocument(const ABrowser: TObject): IHTMLDocument3;
var
LBrowser: IWebBrowser;
begin
if Supports(ABrowser, IWebBrowser, LBrowser) then
Supports(LBrowser.Document, IHTMLDocument3, Result);
end;