隐藏selenium的特征

1. chromedriver.exe中的$cdc_asdjflasutopfhvcZLmcfl_特征

$cdc_是chromedriver.exe的一个特征之一,很多网站会通过检测是否有这个特征来判断是否是selenium
在这里插入图片描述

解决方案(windows):

安装vim工具,在cmd在运行gvim,然后把chromedriver.exe拖进去

按下/键输入cdc_搜索定位,回车,i键,修改为任意值,但是字母个数要对上。我这里把cdc改为了adc

在这里插入图片描述
保存即可。
经测试,淘系是有检测这个特征的,改了后可以绕过,当然淘系的风控是非常强,还有很多检测。

2. 您的浏览器限制了第三方Cookie,这将影响您正常登录,您可以更改浏览器的隐私设置,解除限制后重试。

experimentalFlags = ['same-site-by-default-cookies@2', 'cookies-without-same-site-must-be-secure@2']
chromeLocalStatePrefs = {'browser.enabled_labs_experiments': experimentalFlags}
self.options.add_experimental_option('localState', chromeLocalStatePrefs)

3. navigator.webdriver特征值

self.chrome_options = webdriver.ChromeOptions()
self.chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])
self.chrome_options.add_experimental_option('useAutomationExtension',False)
self.driver = webdriver.Chrome(chrome_options=chrome_options)
self.driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument',
                       {'source': 'Object.defineProperty(navigator, "webdriver", {get: () => undefined})'})

4, 指定浏览器的缓存UserData

self.options.add_argument("--user-data-dir=" + Config().chrome_UserData)

如果不使用指定UserData,每次selenium都会启动一个全新的浏览器,这样很容易被检测出来

我们可以把默认的User Data复制一份出来,默认的路径:
C:\Users\用户名\AppData\Local\Google\Chrome\User Data

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值