最近学习用C#的webdriver写自动化网页程序,做到隐藏selenium特征时,看到大部分使用stealth.min.js的都是Python写的,这边记录一下C#中用stealth.min.js隐藏selenium特征的方法。
System.IO.StreamReader sr = new System.IO.StreamReader($"{Environment.CurrentDirectory}\\stealth.min.js");
string line = sr.ReadToEnd();
Dictionary<string, object> properties = new Dictionary<string, object>();
properties.Add("source", line);
webDriver.ExecuteCdpCommand("Page.addScriptToEvaluateOnNewDocument", properties);
原理与python中一样,就是在初始化chromedriver后调用cdp(即 Chrome DevTools Protocol)命令(需要selenium版本支持cdp),调用Page.addScriptToEvaluateOnNewDocument方法,让浏览器执行stealth.min.js文件中的代码。此时通过sannysoft之类的网站检测chromedriver为miss即为成功。如下图框出部分:
cdp的API地址:Chrome DevTools Protocol - Page domain文章来源:https://www.toymoban.com/news/detail-735049.html
查询是否隐藏成功的网址贴上,可以对比:sannysoft.com文章来源地址https://www.toymoban.com/news/detail-735049.html
到了这里,关于C#-使用stealth.min.js隐藏selenium特征的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!