这是在robot framework's playwright library的上下文中,但我还没有收到他们的任何回复。希望一些编剧Maven能帮到我。
**我试图连接到一个现有的和已经打开的浏览器与playwright.**以下this tutorial,我得到了它与 selenium 工作,但不是与playwright.
我相信我正在尝试复制这个server-client dynamic。
我的步骤是:
1.打开浏览器:可以是手动的(就像在 selenium 的情况下),但我认为与剧作家它必须具体是一个剧作家进程/浏览器。因此,我选择了npx playwright launch-server --browser chromium
(也尝试过npx playwright open <url>
)。
1.我使用launch-server
输出的url(例如:ws://127.0.0.1:49216/4eed2730f31b8a5af258df739cc319fe
)到connect_to_browser()
并看到Successfully connected to browser
。在这个代码片段中,我打开了一个无头浏览器,可以导航等。在这一步中,我也尝试了在持久化上下文中进行混合,基于这个例子,但也没有运气。在这一点上,但至少在这一点上,我有一个浏览器启动和运行在我的屏幕上,似乎是连接到剧作家服务器的端口49216。
1.我现在需要一些其他的代码来连接和使用这个现有的浏览器。因此,在这段代码中,我也使用了connect_to_browser()
,没有任何明显的问题,但如果我想在这段代码中做任何事情,我必须打开一个新的浏览器,而不是能够使用现有的浏览器。
如果我比较第2步和第3步中代码的浏览器和上下文目录,它们不匹配。这就像虽然两者都通过该ws url连接,但它们不能相互交谈或了解对方?
顺便说一句,我也试过用playwright_process_port
启动剧作家库,但我得到了RuntimeError: Could not connect to the playwright process
。
1条答案
按热度按时间7bsow1i61#
使用Playwright,可以使用Chrome DevTools协议(CDP)连接到正在运行的基于Chromium的浏览器。
启动浏览器设置远程调试端口:
字符串
导航到某个页面,然后使用方法
connect_over_cdp
(Playwright文档)连接到浏览器:型
为了澄清,playwright是一个NodeJS库。有一个Python wrapper和一个Robot Framework Package 器,称为Browser Library。这个问题和这个答案涉及Python Package 器。
在撰写本文时,浏览器库不支持此功能,但已计划好。监视this issue以了解何时实现了该功能。