This is in the context of robot framework's playwright library, but I haven't had any responses from them. Hopefully some playwright experts can help me out.
I'm trying to connect to an existing and already opened browser with playwright. Following this tutorial, I got it to work with selenium, but not with playwright.
I believe I'm trying to replicate this server-client dynamic.
My steps are:
- Open a browser: could be manual (as in the selenium case) but I think with playwright it has to specifically be a playwright process / browser. Therefore I've gone with
npx playwright launch-server --browser chromium
(have also tried withnpx playwright open <url>
). - I use the url output by
launch-server
(eg.ws://127.0.0.1:49216/4eed2730f31b8a5af258df739cc319fe
) in my code toconnect_to_browser()
and seeingSuccessfully connected to browser
. In this code snippet I open up a headless browser and can navigate, etc. In this step I have also tried mixing in a persistent context, based on this example but also no luck. At this point But at least at this point I have a browser up and running on my screen that appears to be connected to the playwright server at port 49216. - I now want some other code to connect to and use this existing browser. So in this code I also use
connect_to_browser()
without any apparent issues but if I want to do anything in this snippet, I have to open up a new browser, rather than being able to use the existing browser.
If I compare the browser and context catalogs between the code in step 2 and 3, they do not match. It's like although both are connected via that ws url, they cannot talk to or know about each other?
Btw, also tried starting up the playwright library with playwright_process_port
but I get RuntimeError: Could not connect to the playwright process
.