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);
答案由我测试并受到的启发。
我正在尝试使用 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);
答案由我测试并受到