其实stealth.min.js这个文件应该不用我多介绍了,是puppeteer中用于抹去自动化程序特征的。当他被单独提取出来后就可以在selenium中加载并使用,使得可以抹掉selenium中的自动化特征,从而绕过一些网站或者验证程序的机器人检测。
关于这个文件在Python的selenium的用法其实很简单,就是在初始化完webdriver后使用execute_cdp_cmd函数来执行这个js文件即可
# 初始化webdriver
driver = webdriver.Chrome()
# 读取文件
with open('stealth.min.js', 'r') as f:
js = f.read()
# 调用函数在页面加载前执行脚本
driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument', {'source': js})
然后就可以正常使用driver来进行其他操作了
但还有一个很重要的问题就是,去哪里搞这个stealth.minl.js文件呢?我翻找过无数个回答,虽然能找到,但是都是几年前的老版本,甚至还要收费...
所以我去puppeteer-extra的官方github仓库里找到了生成这个文件的方法,并把它用GithubActions制作成了每周都生成一个新版本并同步在我的仓库里GitHub - requireCool/stealth.min.js: Automatically generate the newest stealth.min.js.Automatically generate the newest stealth.min.js. Contribute to requireCool/stealth.min.js development by creating an account on GitHub.https://github.com/requireCool/stealth.min.js
希望可以点个Star关注一下,谢谢啦~
另外,为了照顾大家可能不能正常访问Github的问题,后面贴了jsdelivr的cdn地址,需要的可以直接下载,别忘了回来点赞哦~
stealth.min.js