C#-使用stealth.min.js隐藏selenium特征

        最近学习用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

        查询是否隐藏成功的网址贴上,可以对比:sannysoft.com

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值