运行 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 })"
});
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 })"
});