You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python Selenium加载页面?解决空白页及Cloudflare验证问题

解决Selenium打开页面空白的问题

你遇到的是Cloudflare的隐形人机验证机制,这段JS就是用来触发验证的——普通浏览器因为是真人操作能通过验证,而Selenium默认的自动化特征会被识别为爬虫,导致验证失败显示空白页。以下是具体解决步骤:

基础方案:优化Selenium浏览器配置

通过修改ChromeOptions模拟真实浏览器环境,减少被识别的概率:

  • 禁用自动化特征检测:添加--disable-blink-features=AutomationControlled参数,避免页面检测到Selenium的自动化标识
  • 设置真实用户代理:复制你常用浏览器的User-Agent(比如Chrome的UA),通过--user-agent参数传入
  • 可选:加载本地浏览器配置文件,让Selenium使用你日常使用的Chrome环境(包含缓存、Cookie等,更接近真人访问)

示例代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
# 禁用自动化检测
options.add_argument("--disable-blink-features=AutomationControlled")
# 替换成你自己浏览器的User-Agent
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36")
# 可选:加载本地Chrome配置,路径替换成你自己的profile路径
# options.add_argument(r"user-data-dir=C:\Users\你的用户名\AppData\Local\Google\Chrome\User Data")

driver = webdriver.Chrome(options=options)
driver.get("目标页面URL")

进阶方案:使用反检测专用库

如果基础方案无效,直接用undetected-chromedriver库,它专门针对Cloudflare等反爬机制做了优化,能自动绕过大部分验证:

  1. 先安装库:pip install undetected-chromedriver
  2. 示例代码:
import undetected_chromedriver as uc

driver = uc.Chrome()
driver.get("目标页面URL")
# 等待页面加载完成
driver.implicitly_wait(10)

注意事项

  • 你提供的那段JS里的__CF$cv$params参数是临时的,每次访问都会变化,硬抄执行这段JS没用,必须让页面自动完成验证流程
  • 不要频繁刷新或快速操作,模拟真人访问的节奏,避免触发更严格的验证

内容的提问来源于stack exchange,提问作者mikezang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 23:03:32