chrome selenium webdriver 中的欺骗性导航器属性

Spoof navigator properties in chrome selenium webdriver

我正在尝试使用 chrome selenium 自动执行网站上的一些任务。我根据恶搞了navigator.webdriver。如何欺骗导航器的其他属性,例如:deviceMemory, hardwareConcurrency, maxTouchPoints?我在 C# 中使用 Selenium。

非常感谢任何帮助

你可以在脚本执行之前设置这些,类似于 cdp 命令。我不确定它在 C# 中是什么样子,但在 python:

driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  "source": """
    Object.defineProperty(navigator, 'deviceMemory', {
      get: () => 99
    })
  """
})
    var parameters = new Dictionary<string, object>
    {
        ["source"] = "Object.defineProperty(navigator, 'webdriver', { get: () => undefined })"
    };
    var driver = new ChromeDriver(@"c:\bin\", options);
    driver.ExecuteChromeCommand("Page.addScriptToEvaluateOnNewDocument", parameters);

答案由我测试并受到的启发。