运行 Selenium C# 上的 cdp 命令

Run cdp commands on Selenium C#

Selenium 似乎有一个方法 driver.execute_cdp_cmd 但我在 C# 版本的 selenium 库中找不到 Chrome 网络驱动程序的任何 executeCdpCommand,任何人都知道我们在哪里或如何 运行 此类命令类似于 python 中的以下代码(我希望在 C# .NET 上使用相同的代码):

driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  "source": """
    Object.defineProperty(navigator, 'webdriver', {
      get: () => undefined
    })
  """
})

driver.get(some_url)

我找到了答案:

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.DevTools;
using OpenQA.Selenium.DevTools.V96.Page;
using Network = OpenQA.Selenium.DevTools.V96.Network;
using DevToolsSessionDomains = OpenQA.Selenium.DevTools.V96.DevToolsSessionDomains;


IDevTools devTools = driver as IDevTools;
            DevToolsSession session = devTools.GetDevToolsSession();
            var domains = session.GetVersionSpecificDomains<DevToolsSessionDomains>();
            domains.Page.Enable(new OpenQA.Selenium.DevTools.V96.Page.EnableCommandSettings());
domains.Page.AddScriptToEvaluateOnNewDocument(new AddScriptToEvaluateOnNewDocumentCommandSettings()
        {
            Source = "Object.defineProperty(navigator, 'webdriver', { get: () => undefined })"
        });