Python 自动化实战:Selenium 模拟真人浏览,浏览器指纹检测原理学习 前言上一篇文章我们使用 requests 库实现 HTTP 层面的页面访问模拟。但是 requests 没有真实浏览器环境不会执行页面 JS没有浏览器渲染、Canvas、WebGL 等指纹信息。很多现代网站的风控系统会通过 JS 读取浏览器特征单纯 HTTP 请求很容易被识别为机器人。Selenium 是经典的浏览器自动化框架可以驱动 Chrome、Edge 等真实浏览器加载页面 JS、图片资源还可以模拟页面滚动、鼠标点击等真人交互动作。很多人利用 Selenium 做账号自动化操作但原生 Selenium 自带自动化标记网站 JS 可以直接检测navigator.webdriver字段识别自动化浏览器。本文重点讲解如何隐藏基础自动化标记模拟真人浏览行为仅用于技术学习禁止违规操控账号。一、Requests 与 Selenium 的核心差异Requests 属于无界面请求只发送 HTTP 数据包不渲染页面不存在浏览器指纹。优点是轻量、速度快缺点是无法执行 JS缺少真人交互行为特征很容易被 JS 层面的风控识别。Selenium 会启动完整浏览器实例加载网页全部资源支持页面交互能够模拟滚动、鼠标移动等真人操作更贴近真实用户访问网页。缺点是资源消耗大运行速度慢原生 Selenium 带有自动化特征需要额外配置隐藏标记。但是即便隐藏了 webdriver 标记浏览器还有大量静态指纹Canvas 指纹、WebGL、字体列表、屏幕分辨率、时区等。多个账号共用一套浏览器配置依然会产生账号关联风险。二、环境安装与 Demo 代码pip install selenium示例代码from selenium import webdriver from selenium.webdriver.common.by import By import time import random def human_browse(url): options webdriver.ChromeOptions() # 关闭自动化提示 options.add_experimental_option(excludeSwitches, [enable-automation]) options.add_experimental_option(useAutomationExtension, False) driver webdriver.Chrome(optionsoptions) # CDP命令清除webdriver标记 driver.execute_cdp_cmd(Page.addScriptToEvaluateOnNewDocument, { source: Object.defineProperty(navigator, webdriver, {get: () undefined}) }) try: driver.get(url) time.sleep(random.uniform(2, 4)) # 分段滚动页面模拟人浏览 scroll_count random.randint(3, 6) for _ in range(scroll_count): scroll_pixel random.randint(300, 800) driver.execute_script(fwindow.scrollBy(0,{scroll_pixel})) time.sleep(random.uniform(1.2, 3)) # 页面停留阅读 time.sleep(random.uniform(4, 9)) except Exception as e: print(f浏览异常{e}) finally: driver.quit() if __name__ __main__: human_browse(https://example.com)代码核心优化关闭浏览器自动化提示使用 CDP 命令清除 webdriver 标识分段滚动页面滚动距离、滚动次数、停留时间全部随机避免一次性直接滚动到底部这种典型机器人行为。三、模拟真人浏览行为的关键点不要一次性滚动到页面底部真人浏览是边看边慢慢下拉不会一次性拉到底部。分段滚动中间增加随机停顿更贴近真人习惯。增加随机等待页面加载完成后不会立刻操作留出阅读页面的时间。进阶鼠标轨迹模拟高级风控会检测鼠标移动轨迹。机器人鼠标移动大多是直线快速移动真人鼠标移动带有抖动、曲线偏移。可以引入第三方库模拟带随机偏移的鼠标轨迹。操作不要连续密集浏览、点击之间要有间隔不要短时间连续执行多个操作。四、Selenium 自动化常见风控陷阱很多新手以为清除 webdriver 标记就万事大吉。实际上浏览器指纹体系非常完善Canvas、WebGL、系统字体、插件列表等都可以作为设备指纹。多个账号共用同一个浏览器配置文件会被判定为同一台设备操作出现账号连带封禁。同时 Selenium 多并发会消耗大量内存与 CPU 资源多账号同时运行对机器性能要求很高。即便所有指纹隐藏全部做好自动化脚本和真人用户依然存在细微行为差异长期自动化操作账号封号风险依旧存在。五、合法学习场景总结Selenium 技术的合法应用场景是 Web UI 自动化测试、网页功能验证、爬虫学习。不要投入大量时间尝试用 Selenium 批量操作平台账号。平台风控策略会持续迭代今天有效的隐藏方案可能很短时间就失效。学习浏览器自动化重点理解浏览器指纹、JS 反检测原理把技术投入到软件开发测试等合规场景。任何试图绕过平台风控批量操控账号的行为都存在账号封禁以及法律风险。