我想使用pyppeteer连接到已经打开的Chrome浏览器(用户已经打开,没有使用额外标志),以便我可以对其进行控制。
我几乎可以在之前执行所有手动操作(例如,在现有Chrome中启用远程调试模式),但最好能够只进行最少的操作。
为了使用
我的问题是,只有当我运行带有
我尝试从cmd运行:
我该怎么做?我在网上找不到任何信息。
编辑(还细化了问题的第一段):
感谢所有答案,但似乎我最初想要做的事情是不可能的。如果没有使用
我几乎可以在之前执行所有手动操作(例如,在现有Chrome中启用远程调试模式),但最好能够只进行最少的操作。
为了使用
browser.connect
,我需要提供browserWSEndpoint
, 也就是'http://localhost:9222/json/version'下等效于webSocketDebuggerUrl
。我的问题是,只有当我运行带有
--headless
标记的chrome时,我才能访问'http://localhost:9222/json/version',否则我无法获取此字符串。我尝试从cmd运行:
chrome --disable-gpu --remote-debugging-port=9222 https://stackoverflow.com
这会在已打开的Chrome实例下打开一个新选项卡,但我仍然无法访问'http://localhost:9222/json/version'来获取webSocketDebuggerUrl
(尝试访问该地址时我会收到'ERR_CONNECTION_REFUSED')。我该怎么做?我在网上找不到任何信息。
编辑(还细化了问题的第一段):
感谢所有答案,但似乎我最初想要做的事情是不可能的。如果没有使用
--remote-debugging-port=XXXX
标志,您无法连接到已经打开的Chrome浏览器(第一个浏览器实例)。一旦打开了浏览器的第一个实例,它就会锁定浏览器的用户数据,并且无法从命令行向浏览器添加标志(仅由用户在浏览器内部添加)。