Python使用Selenium实现浏览器自动化

📅 2026/8/1 4:32:52
Python使用Selenium实现浏览器自动化
准备工作为什么要模拟浏览器?对爬虫稍有了解的同学可能会有疑问:明明可以用 requests 库直接获取网页源代码,为什么还要模拟浏览器呢?现实很骨感:反爬虫机制- 你有爬虫,别人有反爬虫。网站会检测请求头,非浏览器请求直接拒绝JavaScript 渲染- 现代网站很多内容是通过 JS 动态加载的,requests 拿到的只是空壳验证码拦截- 滑块验证、点击验证、短信验证...这些用代码很难绕过登录态维持- Cookie、Session、Token 等身份验证机制复杂Selenium 的优势:真实打开浏览器,网站识别为正常用户自动执行 JavaScript,拿到完整渲染后的页面可以模拟人工操作:点击、输入、滑动能处理复杂的登录流程Selenium 介绍Selenium 可以说是网络爬虫中的王者级工具了:最初用途:自动化测试工具,测试网页功能是否正常爬虫领域:控制真实浏览器,绕过大部分反爬机制更多玩法:自动登录各类网站定时抢购商品(茅台、火车票、演唱会门票)自动填写表单、提交数据批量上传/下载文件自动化运营(自动发帖、点赞、评论)一句话总结:Selenium 就是一个用代码控制的"机器人浏览器"。安装工作要在 Windows 中使用 Selenium,需要准备三样东西:组件作用本教程使用Selenium 库Python 控制浏览器的接口最新版浏览器被控制的程序Chrome浏览器驱动翻译官(把 Python 指令转成浏览器能懂的语言)chromedriver1. 安装 Selenium 库打开 PyCharm 底部的终端(Terminal),输入:pip install selenium安装完成后,在代码中这样导入:from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service2. 安装 Chrome 浏览器直接访问官网下载安装:Google Chrome 网络浏览器安装完成后,在 Chrome 地址栏输入chrome://version/查看版本号:记住版本号的前三位,比如98.0.4758,等下要用。3. 安装 ChromeDriver 驱动为什么需要驱动?想象 Selenium 是说英语的,Chrome 是说法语的,它们之间需要一个翻译——这就是 ChromeDriver。下载步骤:打开下载地址:http://chromedriver.storage.googleapis.com/index.html找到与你的 Chrome 版本对应的文件夹点击进入,下载 Windows 版本(chromedriver_win32.zip)解压后得到chromedriver.exe把它放到一个固定位置,比如D:\driver\chromedriver.exe版本对应很重要!Chrome 升级后,驱动可能也要重新下载对应版本。基本用法初始化浏览器对象准备工作完成,来写第一行 Selenium 代码:import time from selenium import webdriver from selenium.webdriver.chrome.service import Service # 指定驱动路径 s = Service(r'D:\driver\chromedriver.exe') # 初始化浏览器 browser = webdriver.Chrome(service=s) # 等待2秒看看效果 time.sleep(2) # 关闭浏览器 browser.close()运行后,你会看到 Chrome 窗口弹出来,过2秒自动关闭。这就是 Selenium 在控制浏览器!无头模式(Headless)上面的代码会弹出浏览器窗口,有时候我们不需要看到界面(比如在服务器上运行),可以用无头模式:import time from selenium import webdriver