С клиентами для CDP надо осторожнее, есть негативный опыт с cdp4j. До того, как его закрыли, я играл с ним и коммитил в него: в нём были баги, он тёк. В итоге переехал на puppeteer. Но мечтаю обратно вернуться в Java с Javascript.
А локальный/не локальный -- для remote-запуска для того же cdp4j я сделал Launcher, который по ssh стартовал chrome на remote-машине, так что всё возможно, если захотеть
я для запуска на удаленной тачке юзал selenoid, он проксирует cdp трафик, запускал сессию просто через webdriver api, а потом все делал по cdp. Только нужно или увеличить таймаут, или время от времени слать запросы по webdriver протоколу чтобы не убил сессию по неактивности.