vvanglro/cf-clearance

请问大佬,有没有使用selenium获取某个网站的cf_clearance的方法?

yeyuchen198 opened this issue · 2 comments

我使用原版的selenium或者undetected_chromedriver,或者selenium_stealth
发现都不行通过CF5秒盾。

启动driver后,在第1个标签页,无论是手动验证,还是用driver执行脚本进行点击都不行,
但是!我有个发现,手动新建1个标签页,在这个标签页进行CF验证,无论是手动点击,还是执行js:
document.querySelector("#cf-stage > div.ctp-checkbox-container > label > span").click()
都可以通过!
似乎当前标签页不在driver的控制之下,就能点击验证通过
CF有点神奇,好像可以判断我当前的标签页是否受driver控制。
新建标签页后,driver.switch_to.window(),跳转到该标签页(窗口),这时就会被判定为driver控制,手工点击验证重试无数次都不会通过的

我上面说的不准确,用selenium_stealth,对于某些节点,是可以使用一些小技巧来执行js来验证通过的,但是我发现多试几次之后,发现验证就不通过了,似乎是IP会被标记,然后进行拦截了,加大验证通过难度,CF盾好复杂。大佬们是不是直接逆向js来破解?

是的, 请求太频繁的话ip也会被cloudflare拦截.
可以使用此库来获取cookie、ua, 后续请求添加了cookie和ua和相同的代理即可绕过.