2026年Playwright如何绕过cloudflare人机验证?

大圣
2 分钟阅读
2026年Playwright如何绕过cloudflare人机验证?

2026年Playwright如何绕过cloudflare人机验证?

问题复现

用playwright打开该套cf的网站

image-20260309025353083

无论人工点击确认,还是playwright

都会过不去验证

表现为 卡验证,就是点击了没有效果,

一直需要验证

听说了用 Patchright可以绕过CloudFlare的风控

试一试

该项目 自己说能过

然而还是卡验证

估计是哪里没配置好

image-20260309033645553

时间紧,任务重,

没时间纠结了,

我们还是用drissionpage吧,

秒过,

而且中文支持好,

但是,这个项目也有一个最大的问题

他的开源协议只适合个人玩一玩,不适合深入研究,

不是主流协议,禁止任何商用,

代码放在文章后面了,

下期我们再深入探究下其他绕过cloudflare验证的办法

image-20260309033822992

image-20260309034039785

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
from DrissionPage import ChromiumPage, ChromiumOptions
import time


def access_protected_site(url):
    # 配置浏览器选项
    co = ChromiumOptions()


    co.set_argument('--no-sandbox')
    co.set_argument('--disable-gpu')



    # 初始化浏览器
    page = ChromiumPage(co)

    try:
        print(f"正在访问: {url}")
        page.get(url)

        if page.wait.ele_displayed('text:Checking your browser', timeout=2):
            print("检测到 Cloudflare 验证层,等待自动处理...")
            # 也可以手动尝试点击复选框(如果自动失败的话)
            # page.ele('@id:cf-turnstile-wrapper', timeout=5).click()

        # 等待正文内容出现,例如文章标题
        # 根据 shift-journal.org 的结构,通常文章会有特定的 class 或 tag
        if page.wait.ele_displayed('tag:h1', timeout=15):
            print("成功绕过验证,正在提取数据...")

            # 获取页面标题和部分内容
            title = page.ele('tag:h1').text
            content = page.html  # 或者使用 page.ele('article').text

            print("-" * 30)
            print(f"文章标题: {title}")
            print(f"页面源码长度: {len(content)}")
            print("-" * 30)

        else:
            print("未能成功加载页面内容,可能被彻底封锁或需要手动处理验证码。")

    except Exception as e:
        print(f"发生错误: {e}")
    finally:

        time.sleep(5)
        # page.quit()


if __name__ == "__main__":
    target_url = "https://www.shift-journal.org/article/742beb12-f075-4279-9a05-9577f23c9734"
    access_protected_site(target_url)

准备好采集您的数据了吗?

提交需求,快速获得高质量、可用的成品数据。