0

我正在尝试使用这个 devtools protcol 命令:Page.AddScriptToEvaluateOnNewDocument.

似乎这个协议命令在selenium 的 c# 版本中没有完全实现。我也尝试了单击事件,但这也不起作用。但是,我能够使用一个 devtools 命令,一个带有代码的网络命令:

IDevTools devTools = driver as IDevTools;
DevToolsSession session = devTools.CreateDevToolsSession();
session.Network.Enable(new OpenQA.Selenium.DevTools.Network.EnableCommandSettings());
session.Network.SetBlockedURLs(new OpenQA.Selenium.DevTools.Network.SetBlockedURLsCommandSettings()
{
    Urls = new string[] { "favicon" }
});

我可以做些什么来自己解决这个问题吗?

参考资料:
https ://github.com/SeleniumHQ/selenium/issues/8000

4

1 回答 1

0

这是您可以使用的正确代码:

using DevTools =  OpenQA.Selenium.DevTools.V95;

using Network = OpenQA.Selenium.DevTools.V95.Network;

using DevToolsSessionDomains = OpenQA.Selenium.DevTools.V95.DevToolsSessionDomains;


        IDevTools devTools = chromeDriver as IDevTools;
        IDevToolsSession session = devTools.GetDevToolsSession();


        var domains = session.GetVersionSpecificDomains<DevToolsSessionDomains>();
        await domains.Network.Enable(new Network.EnableCommandSettings());
        await domains.Network.SetBlockedURLs(new DevTools.Network.SetBlockedURLsCommandSettings()
        {
            Urls = new string[] { "favicon" }
        });
于 2021-12-03T16:58:15.980 回答