当您使用 Chrome DevTools 协议执行 chrome 浏览器时,此类会话在哪里存储诸如历史记录、cookie 和添加的扩展之类的东西?

When you execute chrome browser using Chrome DevTools Protocol, where does such session store stuff like history, cookies and extensions added?

我今天意识到您可以将 Chrome DevTools ProtocolSelenium 合并,以便在网站中自动执行某些非常具体的流程部分。

例如:满足一些初始条件后,自动将一些文件上传到帐户等过程...

根据 official repository,您在 cmd 上使用了类似以下的句子来使用您的用户数据创建一个新的 chrome 会话:

chrome.exe --remote-debugging-port=9222 --user-data-dir:"C:\Users\ResetStoreX\AppData\Local\Google\Chrome\User Data"

所以在我的例子中,上面的句子生成以下输出:

问题是,在我原来的会话中我添加了一些 Chrome extensions,我知道如果我只使用 Selenium 使用它的 chromedriver.exe,我可以很容易地使用以下语句添加扩展名(必须压缩为 .crx 文件):

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
opt = Options() #the variable that will store the selenium options
opt.add_extension(fr'{extension_path}')

但似乎 Chrome DevTools Protocol 不能像 Selenium 那样添加 Options,所以我将不得不再次在我的这个伪会话中安装我的所有扩展,没问题。

但是,安装此类扩展程序后,在我再次执行后,这些扩展程序是否会继续安装并准备好使用chrome.exe --remote-debugging-port=9222 --user-data-dir:"C:\Users\ResetStoreX\AppData\Local\Google\Chrome\User Data",如果是,在哪里?

或者如果没有,这是否意味着我每次需要使用 Chrome DevTools Protocol 和我的 Chrome extensions 进行测试时都必须重新安装它们?谢谢指教。

可以确认,使用 Chrome DevTools Protocol 打开的会话以某种方式永久存储您重新安装的扩展。它还会记住您是否使用了某些特定的凭据来登录某些站点。